问题描述
Hello堆栈溢出用户,
Hello stack overflow users,
我想在我的IOS应用程序中使用UISlided更改平移位置。
i want to change pan position using UISlided in my IOS application.
我正在升级整个应用程序,目前正在使用 AudioStreamer Matt Gallagher
i am upgrading whole app which is currently using AudioStreamer of Matt Gallagher
要更改其中的平移值AudioStreamer在代码下方使用。
To change the pan value in in AudioStreamer used below code.
AudioQueueRef audioQueue; //在AudioStreamer.h文件中定义
AudioQueueRef audioQueue; // defined in AudioStreamer.h file
- (void)changePan:(float)newPan
{
OSStatus panErr = AudioQueueSetParameter( audioQueue, kAudioQueueParam_Pan, newPan);
NSLog(@" setting pan: %ld", panErr);
if( panErr )
NSLog(@"Error setting pan: %ld", panErr);
}
我正在使用AudioUnit取代AudioStreamer使用AudioUnit
i am replacing AudioStreamer with StreamingKit which use AudioUnit
如果我能得到一些帮助,使用StreamingKit或AudioUnit完成这件事,我会很感激。
if i will get some help to make this thing done using StreamingKit or AudioUnit i will appreciate that.
PS让我知道是否有人需要更多信息。
P.S Let me know if anyone needs more info.
谢谢
推荐答案
使用AudioUnit API,你可以只需设置音频混音器单元的 kMultiChannelMixerParam_Pan
属性即可设置立体声声像:
Using AudioUnit API, you can simply set the kMultiChannelMixerParam_Pan
property of the audio mixer unit to set the stereo pan:
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");
}
您可能还需要检索内部 mixerUnit
来自 STKAudioPlayer
内的实例变量。您可以尝试 [audioPlayer valueForKey:@_ mixerUnit]
或者在StreamingKit的文件中自己实现一个getter。
You may also need to retrieve the internal mixerUnit
instance variable from inside STKAudioPlayer
. You can try [audioPlayer valueForKey:@"_mixerUnit"]
for that or implement a getter yourself inside StreamingKit's files.
这篇关于如何在IOS Audio Unit Framework中设置声像的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!