如何在 IOS 音频单元框架中设置声像
How to set pan in IOS Audio Unit Framework
你好堆栈溢出用户,
我想在我的 IOS 应用程序中使用 UISlided 更改平移位置。
我正在升级目前正在使用 Matt Gallagher
的 AudioStreamer 的整个应用程序
使用以下代码更改 AudioStreamer 中的声像值。
AudioQueueRef 音频队列; // 在 AudioStreamer.h 文件中定义
- (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 的 StreamingKit 替换 AudioStreamer
如果我能得到一些帮助来使用 StreamingKit 或 AudioUnit 完成这件事,我将不胜感激。
P.S 如果有人需要更多信息,请告诉我。
谢谢
使用 AudioUnit API,您可以简单地设置混音器单元的 kMultiChannelMixerParam_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");
}
您可能还需要从 STKAudioPlayer
中检索内部 mixerUnit
实例变量。您可以为此尝试 [audioPlayer valueForKey:@"_mixerUnit"]
或在 StreamingKit 的文件中自己实现 getter。
你好堆栈溢出用户,
我想在我的 IOS 应用程序中使用 UISlided 更改平移位置。
我正在升级目前正在使用 Matt Gallagher
的 AudioStreamer 的整个应用程序使用以下代码更改 AudioStreamer 中的声像值。
AudioQueueRef 音频队列; // 在 AudioStreamer.h 文件中定义
- (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 的 StreamingKit 替换 AudioStreamer
如果我能得到一些帮助来使用 StreamingKit 或 AudioUnit 完成这件事,我将不胜感激。
P.S 如果有人需要更多信息,请告诉我。
谢谢
使用 AudioUnit API,您可以简单地设置混音器单元的 kMultiChannelMixerParam_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");
}
您可能还需要从 STKAudioPlayer
中检索内部 mixerUnit
实例变量。您可以为此尝试 [audioPlayer valueForKey:@"_mixerUnit"]
或在 StreamingKit 的文件中自己实现 getter。