// // VideoPreview.swift // vp // // Created by soldoros on 2024/1/17. // import AVFoundation import MetalKit import SwiftUI // //// 普通的 Swift 视图,用于渲染视频预览 //struct VideoPreviewView: NSViewRepresentable { // // 正在处理的当前帧的左眼视图。 // var leftEyePreviewImage: CVPixelBuffer // // // 正在处理的当前帧的右眼视图。 // var rightEyePreviewImage: CVPixelBuffer // // // 创建并返回底层 Metal 视图 // func makeNSView(context: Context) -> MetalPlayer { // let ciImage = CIImage(cvPixelBuffer: leftEyePreviewImage) // let frame = CGRect( // x: 0, // y: 0, // width: ciImage.extent.width * 2, // height: ciImage.extent.height // ) // return MetalPlayer(frame: frame) // } // // // 更新底层的 Metal 视图 // func updateNSView(_ nsView: MetalPlayer, context: Context) { // nsView.render( // leftPixelBuffer: leftEyePreviewImage, // rightPixelBuffer: rightEyePreviewImage // ) // } //}