несколько экземпляров AVAudioRecorder - PullRequest
3 голосов
/ 13 декабря 2011

Я работаю над приложением, которое записывает звук.Более того, я хочу, чтобы пользователь мог комментировать определенные ситуации своим собственным голосом.я подумал, что будет достаточно настроить один аудио сеанс и просто создать два экземпляра AVAudioRecorder с разными URL-адресами файлов.но это не работает, второй аудиорекордер создает свой аудиофайл, но не записывает звук.

Кто-нибудь знает, как реализовать два экземпляра AVAudioRecorder, которые фактически работают на одном устройстве?

запись только с одним AVAudioRecorder работает, но использование обоих не работает.

У меня есть обходной путь, но это куча кода, которого я хотел бы избежать в данный момент ...

спасибо!

1 Ответ

6 голосов
/ 20 декабря 2011

понял проблему: аудио сессия не проблема, это аудио формат.

Если вы хотите записать в несколько файлов, используя несколько AVAudioRecorders, вы должны использовать несжатый аудиоформат (ы). Я полагаю, что кодирование с использованием HW используется одним AVAudioRecorder, и, таким образом, каждый последующий AVAudioRecorder не может использовать его одновременно.

один AVAudioRecorder, использующий сжатый формат (например, kAudioFormatMPEG4AAC ), работает нормально, но каждый последующий рекордер должен использовать несжатый аудиоформат . если все экземпляры AVAudioRecorder используют несжатый формат (например, kAudioFormatLinearPCM ), это также работает.

...