2016-07-28 13 views
5

Witam użytkowników stos przelewowe,jak ustawić patelnię w IOS audio Framework Jednostka

chcę zmienić pozycję używając UISlided pan w mojej aplikacji IOS.

jestem modernizacji całej aplikacji, który jest aktualnie używany AudioStreamer z Matt Gallagher

Aby zmienić wartość PAN w w AudioStreamer używany poniżej kodu.

AudioQueueRef AudioQueue; // zdefiniowano w AudioStreamer.h złożyć

- (void)changePan:(float)newPan 
{ 
    OSStatus panErr = AudioQueueSetParameter(audioQueue, kAudioQueueParam_Pan, newPan); 
    NSLog(@" setting pan: %ld", panErr); 
    if(panErr) 
     NSLog(@"Error setting pan: %ld", panErr); 
} 

jestem zastępując AudioStreamer z StreamingKit które wykorzystują AudioUnit

jeśli dostanie trochę pomóc, aby ta rzecz zrobić używając StreamingKit lub AudioUnit będę wdzięczny.

P. Daj mi znać, jeśli ktoś potrzebuje więcej informacji.

Dzięki

Odpowiedz

2

Korzystanie AudioUnit API, można po prostu ustawić właściwości audio jednostce mieszacza kMultiChannelMixerParam_Pan ustawić patelnię Stereo:

AudioUnitParameterValue panValue = 0.9; // panned almost dead-right. possible values are between -1 and 1 
int result = AudioUnitSetParameter(mixerUnit, kMultiChannelMixerParam_Pan, kAudioUnitScope_Input, 0, panValue, 0); 
if (result == 0) 
{ 
    NSLog("success"); 
} 

Być może trzeba odzyskać wewnętrzną mixerUnit instancji zmiennej z wewnątrz STKAudioPlayer. Możesz wypróbować w tym celu [audioPlayer valueForKey:@"_mixerUnit"] lub zaimplementować gettera w plikach StreamingKit.

+0

@freelancer Czy próbowałeś tego kodu? – Tomer

+0

Dzięki @Tomer jej działało idealnie. – freelancer

Powiązane problemy