0

AVFoundationを使用してOSXで音声付きの画面を録画しようとしています.ビデオを録画すると完全に機能します. ただし、オーディオ入力を追加して AVAssetWriterInput に追加すると、アセット ライターのステータスが .failed に変わります。

if let sampleBuffer = sampleBuffer {
            if CMSampleBufferDataIsReady(sampleBuffer) {
                if assetWriter.status == .unknown {
                    let startTime = CMSampleBufferGetPresentationTimeStamp(sampleBuffer)
                    assetWriter.startWriting()
                    assetWriter.startSession(atSourceTime: startTime)
                }
                if assetWriter.status == .failed {
                    print("writer error \(String(describing: assetWriter.error?.localizedDescription))")
                    return false
                }
                if isVideo {
                    if videoInputWriter.isReadyForMoreMediaData {
                        videoInputWriter.append(sampleBuffer)
                        return true
                    }
                } else {
                    if audioInputWriter.isReadyForMoreMediaData {
                        audioInputWriter.append(sampleBuffer)
                        return true
                    }
                }
            }
        }

エラーメッセージは

Error Domain=AVFoundationErrorDomain Code=-11800 "The operation could not be completed" UserInfo={NSLocalizedFailureReason=An unknown error occurred (-12780), NSLocalizedDescription=The operation could not be completed, NSUnderlyingError=0x600002841320 {Error Domain=NSOSStatusErrorDomain Code=-12780 "(null)"}}
4

1 に答える 1