我的应用程序使用AudioUnit播放mp3文件,完全使用RemoteIO,NewTimePitch,AUConverter和MultiChannelMixer 4 AudioUnits。
我的应用可以在屏幕锁定时播放,但在屏幕关闭时无法播放!
更奇怪的是,这个问题只发生在Iphone4S(v6.1.3)中,但在Iphone5(v6.1.4)中运行良好!
这是我的音频单元设置代码:
// connect audio unit: converter -> timepitch -> output
OSExcute( AUGraphConnectNodeInput(processingGraph, converterNode, 0, timepitchNode, 0) );
OSExcute( AUGraphConnectNodeInput(processingGraph, timepitchNode, 0, mixerNode, 0) );
OSExcute( AUGraphConnectNodeInput(processingGraph, mixerNode, 0, eqNode, 0) );
OSExcute( AUGraphConnectNodeInput(processingGraph, eqNode, 0, outputNode, 0) );
// try to fix no sound issue, but does not work
UInt32 maximumFramesPerSlice = 4096;
OSExcute( AudioUnitSetProperty(mixerUnit, kAudioUnitProperty_MaximumFramesPerSlice, kAudioUnitScope_Global, 0, &maximumFramesPerSlice, sizeof (maximumFramesPerSlice)));
答案 0 :(得分:0)
我已经解决了这个问题。解决方案是: 将除了RemoteIO单元之外的每个audiounit设置为kAudioUnitProperty_MaximumFramesPerSlice为4096。