2012-05-15 4 views
1

Я разрабатываю iPad-приложение с несколькими AVAudioPlayer и одним AVAudioRecorder. Идея состоит в том, чтобы воспроизвести звук главного AvAudioPlayer, как фоновая музыка, и прикоснуться к различным кнопкам, воспроизводить звук других AVAudioPlayers, чтобы смешиваться с фоновой музыкой. Смешанная музыка будет записана AVAudioRecorder.Игнорировать вход микрофона с AVAudioRecorder и AVAudioSessionCategoryPlayAndRecord

Для этого я реализовал и AVAudioSession с категорией AVAudioSessionCategoryPlayAndRecord создавать и объект AVAudioRecorder с этой настройкой:

NSDictionary *recordSetting = [NSDictionary dictionaryWithObjectsAndKeys: 
           [NSNumber numberWithInt:kAudioFormatAppleIMA4], AVFormatIDKey, 
           [NSNumber numberWithInt:AVAudioQualityHigh], AVEncoderAudioQualityKey, 
           [NSNumber numberWithInt:16], AVEncoderBitRateKey, 
           [NSNumber numberWithInt: 2], AVNumberOfChannelsKey, 
           [NSNumber numberWithFloat:44100.0], AVSampleRateKey, 
           nil]; 

Все работает отлично, но вход микрофона он записывается также, и это не хорошо для меня.

Вопрос: как я могу игнорировать/заменять/исключать вход микрофона в процессе записи?

Я долго искал Google и искал в документации Apple для категорий и режимов AVAudioSession, настроек AVAudioRecorder и ничего не работает для меня.

Я также ищу микрофон без звука, но я читал, что это невозможно на устройствах iOS.

Заранее благодарим за вашу помощь и извините за ошибки, написанные на английском языке.

+0

hmm, AVAudioSessionCategoryPlayAndRecord для, если вы действительно хотите записать с микрофона. Если вы на самом деле просто хотите смешивать различные источники и сохранять результат в файле, вам нечего останавливать. Это не считается записью. – hooleyhoop

ответ

0

API AVAudioRecorder предназначен только для записи с микрофона.

Для создания аудиофайлов любых звуков, создаваемых приложением, приложение должно выполнить микширование звука в программном обеспечении (микшерный звуковой модуль или собственный код DSP), а затем сжать, если необходимо, и сохранить полученный аудиосигнал поток.

+0

Вот и все. Проблема заключалась в выборе AVAudioRecorder. Я переключусь на Audio Unit Mixer. Большое спасибо. – cuicmex

 Смежные вопросы

  • Нет связанных вопросов^_^