iOS: AudioUnit на текущия AVAudioPlayer

Работя върху приложение, което използва AVAudioPlayer за възпроизвеждане на аудио файл. Това работи добре, но сега искам да добавя Предварителни настройки на еквалайзера. имат всички предварително зададени стойности от този код

AudioUnitGetProperty(AudioUnit instance, kAudioUnitProperty_FactoryPresets, kAudioUnitScope_Global, 0, &mEQPresetsArray, &size);

Мога да променя свойството на аудио модула със следния ред

AUPreset *aPreset = (AUPreset*)CFArrayGetValueAtIndex(EQPresetsArray, 7);
AudioUnitSetProperty(AudioUnit instance, kAudioUnitProperty_PresentPreset, kAudioUnitScope_Global, 0, aPreset, sizeof(AUPreset));

Но проблемът е, че не мога да получа AudioUnit на текущия екземпляр на плейър/AVAudioPlayer.

Има ли просто решение за тази задача?

Благодаря предварително!!!!


person GrayFox    schedule 30.09.2015    source източник
comment
Има следния метод: extern OSStatus AUGraphAddNode( AUGraph inGraph,const AudioComponentDescription * inDescription,AUNode * outNode) За добавяне на възел. Има ли нещо за получаване на текущия възел?   -  person GrayFox    schedule 30.09.2015
comment
Единственият начин да направите това е да не използвате AVAudioPlayer, а да създадете свой собствен аудио плейър от четци на активи или файлове и аудио модули.   -  person hotpaw2    schedule 30.09.2015
comment
Благодаря на Никълсън за отговора ви. Но всъщност свърших цялата функционалност на плейъра с AVAudioPlayer. Би било много полезно или ще спестим много време, ако получим текущия AUNode или AudioUnit.   -  person GrayFox    schedule 01.10.2015
comment
Можем ли да приложим предварително зададени стойности на setting›music›eq към моето приложение AVPlayer. Има ли някаква настройка, която трябва да зададем в приложението?   -  person GrayFox    schedule 05.10.2015


Отговори (1)


Можете да направите една крачка назад и да използвате AVPlayer, след което да добавите MTAudioProcessingTap.Примерен код тук

person soh-la    schedule 06.10.2015