我的应用程序使用音频单元在IOS中播放mp3文件,但当屏幕关闭时,声音停止

时间:2013-08-23 16:03:18

标签: ios audio screen audiounit

我的应用程序使用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)));

1 个答案:

答案 0 :(得分:0)

我已经解决了这个问题。解决方案是: 将除了RemoteIO单元之外的每个audiounit设置为kAudioUnitProperty_MaximumFramesPerSlice为4096。