2016-07-29 18 views
0

Я уже нашел пример кода для записи с AVAudioEngine & Успех для вывода sampleRate 22050 aac format audioFile.Запись и повторный выбор в формат aac с помощью AVAudioEngine, AVAudioSession setCategory AVAudioSessionCategoryRecord?

После того, как я просмотрю код, возникает проблема, связанная с тем, что у меня есть setCategory AVAudioSessionCategoryPlayAndRecord вместо AVAudioSessionCategoryRecord.

How to improve the code for using "AVAudioSessionCategoryRecord" without "PlayAndRecord"?

(В данном случае я должен использовать "AVAudioSessionCategoryRecord", верно?)

Если я setCategory в AVAudioSessionCategoryRecord, я получаю сообщение об ошибке:

AVAudioEngineGraph.mm:1070: Initialize: required condition is false: IsFormatSampleRateAndChannelCountValid(outputHWFormat)

Terminating app due to uncaught exception 'com.apple.coreaudio.avfaudio', reason: 'required condition is false: IsFormatSampleRateAndChannelCountValid(outputHWFormat)'

Там есть пример об использовании микрофона в AVAudioSessionCategoryRecord мне кажется, что мы можем записывать только с inputNode. https://developer.apple.com/library/prerelease/content/samplecode/SpeakToMe/Introduction/Intro.html

Следующий код может работать сейчас.

Связанные ссылки

How can I specify the format of AVAudioEngine Mic-Input?

Recording audio file using AVAudioEngine

ответ

0

AVAudioMixerNode не способен преобразовывать между несжатыми и сжатыми форматами. Для этого вам нужен AVAudioConverter.