0

我目前正在构建一个带有视频和音频录制(前景和背景)的应用程序。

我的客户有一些报告说某些录音失败,现在我检查了他们的日志,似乎在某些设备上编码设置不好。我在整个网络上进行了搜索,以找到关于我应该如何配置记录对象AVAssetWriterInput&的体面信息来源AVAudioRecorder。目前这是我对这两个对象的设置

        let recorderSettings: [String: Any] = [
            AVFormatIDKey: kAudioFormatMPEG4AAC,
            AVNumberOfChannelsKey: 2,
            AVSampleRateKey: 44100,
            AVEncoderBitRateKey: 64000,
            AVEncoderAudioQualityKey: AVAudioQuality.high.rawValue
        ]

任何帮助将不胜感激,谢谢

顺便说一句,这是我得到的错误

"AssetWrtiting finished with 
Optional(Error Domain=AVFoundationErrorDomain Code=-11861
"Cannot Encode Media" 
UserInfo={NSLocalizedFailureReason=The encoding parameters are not supported.
NSLocalizedDescription=Cannot Encode Media,
NSUnderlyingError=0x2839b7750 {Error Domain=NSOSStatusErrorDomain Code=-12651 "(null)"}})
4

1 回答 1

0

仅供参考,如果您偶然发现这个问题。

AVCaptureSession AVCaptureVideoDataOutput&的输出AVCaptureAudioDataOutput有一种方法来获得推荐的录音设置,称为

func recommendedAudioSettingsForAssetWriter(writingTo outputFileType: AVFileType) -> [AnyHashable : Any]?
于 2021-03-28T20:18:12.033 回答