41 lines
1.1 KiB
Swift
41 lines
1.1 KiB
Swift
//
|
||
// 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
|
||
// )
|
||
// }
|
||
//}
|