Как использовать kAudioFormatProperty_AvailableEncodeNumberChannels, чтобы перечислить количество доступных каналов для данного формата? - PullRequest
0 голосов
/ 29 апреля 2020

Я хочу записать снимок экрана из RPScreenRecorder. Но произошло Cra sh

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 не является допустимым числом каналов для Идентификатор формата 'aach'. Используйте kAudioFormatProperty_AvailableEncodeNumberChannels () для перечисления доступных счетчиков каналов для данного формата. *

Я пробовал подсчет каналов с 1, 2, 3, 6.

Как использовать kAudioFormatProperty_AvailableEncodeNumberChannel для подсчета для перечисления для данного формата?

...