【发布时间】:2016-12-05 08:46:08
【问题描述】:
我有一个 RemoteIO 单元设置,可以从麦克风获取输入并播放它。只需轻按一下按钮,即可随时启用或禁用播放。我的问题是启用或禁用播放的调用是否需要音频单元停止、取消初始化然后配置或停止并且根本不需要取消初始化?这是我在 RIO 运行时用于在运行时启用或禁用播放的示例代码。
/* Are these two lines required or not???*/
[self stopIOUnit];
AudioUnitUninitialize(mAudioUnit);
int flag = enable? 1 : 0;
// play on io on the output bus
OSStatus status = AudioUnitSetProperty(mAudioUnit,
kAudioOutputUnitProperty_EnableIO,
kAudioUnitScope_Output,
0, /*output*/
&flag,
sizeof(flag));
【问题讨论】:
-
AudioOutputUnitStart和AudioOutputUnitStop还不够吗? -
这就是问题所在,是取消初始化还是停止,或者两者都需要与否。