diff --git a/SwiftProject/SwiftProject/Project/Controller/RecordingVideo/CCSpatialVideoDisplayController.swift b/SwiftProject/SwiftProject/Project/Controller/RecordingVideo/CCSpatialVideoDisplayController.swift index 9a96e8c..424ee70 100644 --- a/SwiftProject/SwiftProject/Project/Controller/RecordingVideo/CCSpatialVideoDisplayController.swift +++ b/SwiftProject/SwiftProject/Project/Controller/RecordingVideo/CCSpatialVideoDisplayController.swift @@ -446,8 +446,22 @@ class CCSpatialVideoDisplayController: BaseController { } //平行眼 - if(self.selectedIndex == .crossedEyes){ - + if(self.selectedIndex == .parallelEyes){ + Task { + convertor2.type = 5 + + try await convertor2.convertVideo(asset: videoOriginalAsset!, outputFile: outputVideoURL! ) { [self] progress in + print(progress) + DispatchQueue.main.async { [weak self] in + self?.progressView.setProgress(progress, animated: true) + if(progress > 0.99){ + self!.videoTempAsset = AVAsset(url: self!.outputVideoURL!) + self!.play() + } + } + + } + } } diff --git a/SwiftProject/SwiftProject/Project/Util/VideoConvertor2.swift b/SwiftProject/SwiftProject/Project/Util/VideoConvertor2.swift index e18a1b4..d19fee6 100644 --- a/SwiftProject/SwiftProject/Project/Util/VideoConvertor2.swift +++ b/SwiftProject/SwiftProject/Project/Util/VideoConvertor2.swift @@ -156,6 +156,20 @@ class VideoConvertor2 { try await Task.sleep(nanoseconds: 3_000_000) } + //平行眼 + if (type == 5){ + let newpb = joinImages( leftImage: rciImage, rightImage:lciImage ) + let time = CMSampleBufferGetOutputPresentationTimeStamp(nextSampleBuffer) + + _ = vw!.add(image: newpb, presentationTime: time) + print( "Added frame at \(time)") + + // callback with progress + progress?( Float(time.value)/Float(duration.value)) + + // This sleep is needed to stop memory blooming - keeps around 280Mb rather than spiraling up to 8+Gig! + try await Task.sleep(nanoseconds: 3_000_000) + } //红蓝立体 if(type == 3){