Формат потока аудиоустройства Varispeed - PullRequest
3 голосов
/ 02 февраля 2012

Я настраиваю следующий звуковой график

File Player AU -> Varispeed -> Remote IO

Когда я запускаю график, я слышу мой звук в основном отчетливо, но с большим количеством статики.Однако, если я настрою график следующим образом:

File Player AU -> Remote IO (Removing the varispeed)

Мой звук будет проходить идеально.

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

Нужно ли явно устанавливать формат AUCanonical на выходе проигрывателя файлов?

Нужно ли каким-либо образом изменять вход verispeed?

Будет ли модуль удаленного ввода-вывода автоматическиобрабатывать формат вывода verispeed?

Есть ли что-то, что я здесь упускаю?

1 Ответ

3 голосов
/ 03 февраля 2012

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

//Setup a container ASBD, and zero out it's defaults
AudioStreamBasicDescription asbd;
memset(&asbd, 0, sizeof(AudioStreamBasicDescription));

//Get the size of the ASBD for the get property function
UInt32 propSize = sizeof(asbd);

//Get the file player's output stream format.
AudioUnitGetProperty(mFilePlayer, 
                     kAudioUnitProperty_StreamFormat, 
                     kAudioUnitScope_Output, 
                     0,
                     &asbd, 
                     &propSize)

//Set the file player's ASBD on the output of the varispeed unit
AudioUnitSetProperty(mVarispeed, 
                    kAudioUnitProperty_StreamFormat, 
                    kAudioUnitScope_Output, 
                    0, 
                    &asbd, 
                    sizeof(asbd);

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

...