From 2856b13cbe73ac8bc0b59487d610b249edfe36a7 Mon Sep 17 00:00:00 2001 From: bluesea <307723040@qq.com> Date: Mon, 11 Mar 2024 16:29:24 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E6=97=A0=E7=94=A8=E7=9A=84?= =?UTF-8?q?=E5=BC=82=E6=AD=A5=E8=B0=83=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Project/Util/SpatialVideoConvertor.swift | 9 +++------ .../SwiftProject/Project/Util/VideoWriter.swift | 16 ++-------------- 2 files changed, 5 insertions(+), 20 deletions(-) diff --git a/SwiftProject/SwiftProject/Project/Util/SpatialVideoConvertor.swift b/SwiftProject/SwiftProject/Project/Util/SpatialVideoConvertor.swift index 44056fd..c5d27bc 100644 --- a/SwiftProject/SwiftProject/Project/Util/SpatialVideoConvertor.swift +++ b/SwiftProject/SwiftProject/Project/Util/SpatialVideoConvertor.swift @@ -175,18 +175,15 @@ class SpatialVideoConvertor { } } - - let vw2 = vw! - await vw!.addAudio(assetTrackOutput: output_audio){ - _ = try! await vw2.finish() - } + + vw!.addAudio(assetTrackOutput: output_audio) print( "status - \(assetReader.status)") print( "status - \(assetReader.error?.localizedDescription ?? "None")") print( "Finished") -// _ = try await vw!.finish() + _ = try await vw!.finish() } diff --git a/SwiftProject/SwiftProject/Project/Util/VideoWriter.swift b/SwiftProject/SwiftProject/Project/Util/VideoWriter.swift index 961b587..9eec393 100644 --- a/SwiftProject/SwiftProject/Project/Util/VideoWriter.swift +++ b/SwiftProject/SwiftProject/Project/Util/VideoWriter.swift @@ -55,13 +55,6 @@ class VideoWriter { // 创建音频输入 -// let outputSettings_Audio:[String:Any] = [ -// AVNumberOfChannelsKey: 2, -// AVSampleRateKey: 44100, -// AVFormatIDKey:kAudioFormatMPEG4AAC, -// AVEncoderAudioQualityKey: AVAudioQuality.min.rawValue -// ] - let outputSettings_Audio = [ AVFormatIDKey: kAudioFormatLinearPCM, // 指定未压缩格式 AVSampleRateKey: 44100, @@ -72,12 +65,10 @@ class VideoWriter { AVLinearPCMIsNonInterleaved:false, ] as [String:Any] -// self.writerInput_Audio = AVAssetWriterInput(mediaType: AVMediaType.audio, outputSettings: outputSettings_Audio) -// let outputSettings_Audio = AVOutputSettingsAssistant.init(preset: .preset1920x1080)?.audioSettings + self.writerInput_Audio = AVAssetWriterInput.init(mediaType: .audio, outputSettings: outputSettings_Audio) self.writerInput_Audio.expectsMediaDataInRealTime = false -// self.writerInput_Audio. if writer.canAdd(self.writerInput_Audio) { writer.add(self.writerInput_Audio) print("writer 添加input audio成功...") @@ -99,8 +90,7 @@ class VideoWriter { self.writerInput = input } //追加音频 - func addAudio(assetTrackOutput:AVAssetReaderTrackOutput,callback:@escaping @Sendable () async -> Void) async { -// self.writerInput_Audio.requestMediaDataWhenReady(on: DispatchQueue.main) { + func addAudio(assetTrackOutput:AVAssetReaderTrackOutput) { while let sample = assetTrackOutput.copyNextSampleBuffer() { print("audio read buffer....") let formatDesc:CMFormatDescription = CMSampleBufferGetFormatDescription(sample)! @@ -123,8 +113,6 @@ class VideoWriter { print("不是audio类型...") } } - print("audio读取完毕。。。。") - await callback() print("audio func 执行完毕。。。。...") }