У меня есть настройка AUGraph и рабочая, она состоит из многоканального микшера (с одним монофоническим входом), который подает блок RemoteIO (kAudioUnitSubType_RemoteIO
) для вывода на динамик. Я реализовал единственный входной микшер, чтобы иметь возможность панорамировать источник звука между левыми и правыми выходными каналами. Это прекрасно работает.Многоканальный микшер + блок обработки голоса для голосовой связи
Как это приложение VOIP, я экспериментировал с использованием модуля ввода-вывода голосовой почты (kAudioUnitSubType_VoiceProcessingIO
) вместо удаленного модуля ввода-вывода (kAudioUnitSubType_RemoteIO
). За описанием Apple, этот блок должен вести себя как удаленный блок ввода-вывода с некоторыми дополнительными функциями ...
Блок голосовой обработки ввода/вывода (подтип
kAudioUnitSubType_VoiceProcessingIO
) имеет характеристики блока удаленного ввода/вывода и добавляет подавление эха для двусторонней дуплексной связи. Он также добавляет автоматическую коррекцию усиления, настройку качества обработки речи и подавление звука. Это правильный модуль ввода-вывода для использования в приложениях VoIP (Voice over Internet Protocol).
Но я отмечаю, что, когда я переключаюсь на блок ввода-вывода для голосовой обработки, я теряю возможность панорамирования с помощью микшера. Любые идеи относительно того, что здесь происходит? Является ли модуль ввода-вывода голосовой почты монотонным?
Каковы ваши форматы потока? Я не думаю, что блок ввода-вывода VP по своей сути является монофоническим. –
Вход микшера имеет следующий формат: AudioStreamBasicDescription audioFormat = {0}; audioFormat.mSampleRate \t \t \t = 16000.00; audioFormat.mFormatID \t \t \t = kAudioFormatLinearPCM; audioFormat.mFormatFlags \t \t = kAudioFormatFlagIsSignedInteger | kAudioFormatFlagIsPacked; audioFormat.mFramesPerPacket \t = 1; audioFormat.mCannelsPerFrame \t = 1; audioFormat.mBitsPerChannel \t \t = 16; audioFormat.mBytesPerPacket \t \t = 2; audioFormat.mBytesPerFrame \t \t = 2; –
хорошо, это выглядит правильно. Если у вас есть код на github/gist, я могу взглянуть, но его трудно понять, что происходит без дополнительного контекста или информации. Как то, что означает * потеряющая способность панорамирования * означает? Есть ли ошибка, которую бросает или панорамирует, просто перестает работать? –