2016-07-28 28 views
5

Hallo Stack-Überlauf-Benutzer,Wie stellt Pfanne in IOS Audio Unit-Framework

Ich mag mit UISlided in meiner IOS Anwendung Pan-Position ändern.

Ich verbessere ganzen app, die derzeit Audiostreamer von Matt Gallagher

Um den Pan-Wert zu ändern in in Audiostreamer unter Code verwendet wird, verwendet wird.

AudioQueueRef audioQueue; // in AudioStreamer.h definiert Datei

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

i StreamingKit bin ersetzt Audiostreamer mit der

Audio Unit verwenden

wenn ich etwas Hilfe dieses Ding wird mit StreamingKit oder Audio Unit getan, damit ich das zu schätzen wissen.

P.S Lassen Sie mich wissen, wenn jemand mehr Informationen benötigt.

Dank

Antwort

2

Mit Audio Unit-API können Sie einfach stellen Sie die kMultiChannelMixerParam_Pan Eigenschaft der Audiomischereinheit das Stereo-Panorama einzustellen:

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"); 
} 

Sie auch von dem internen mixerUnit Instanzvariable abrufen müssen innerhalb STKAudioPlayer. Sie können versuchen [audioPlayer valueForKey:@"_mixerUnit"] dafür oder implementieren Sie einen Getter selbst in StreamingKit-Dateien.

+0

@freelancer Haben Sie diesen Code probiert? – Tomer

+0

Dank @Tomer es funktionierte perfekt. – freelancer