如何使用kAudioFormatProperty_AvailableEncodeNumberChannels来枚举给定格式的可用通道数?

问题描述 投票:0回答:1

我想用RPScreenRecorder录制屏幕截图,但发生了崩溃。

var channelLayout = AudioChannelLayout()
        channelLayout.mChannelLayoutTag = kAudioChannelLayoutTag_MPEG_5_1_D
        let audioOutputSettings = [
            AVNumberOfChannelsKey : 6,
            AVFormatIDKey : kAudioFormatMPEG4AAC_HE,
            AVSampleRateKey : 44100,
            AVChannelLayoutKey : NSData(bytes: &channelLayout, length: MemoryLayout.size(ofValue: channelLayout))
            ] as [String : Any]
        let audioInput = AVAssetWriterInput(mediaType: .audio, outputSettings: audioOutputSettings)
        appAudioInput = AVAssetWriterInput(mediaType: .audio, outputSettings: audioOutputSettings)

*由于未捕获异常'NSInvalidArgumentException'而终止应用程序,原因:'*** -[AVAssetWriterInput initWithMediaType:outputSettings:sourceFormatHint:] 6不是格式ID'aach'的有效通道数。 使用 kAudioFormatProperty_AvailableEncodeNumberChannels () 来枚举给定格式的可用通道数。

我曾试过用1、2、3、6来计算通道数。

如何使用kAudioFormatProperty_AvailableEncodeNumberChannels来枚举给定格式的可用通道数?

ios objective-c swift audiotoolbox
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.