我正在使用以下内容来播放音频:
OSStatus PlayRenderCallback (
void * inRefCon,
AudioUnitRenderActionFlags * ioActionFlags,
const AudioTimeStamp * inTimeStamp,
UInt32 inBusNumber,
UInt32 inNumberFrames,
AudioBufferList * ioData)
{
EffectState *effectState = (EffectState*) inRefCon;
if(effectState->play)
{
XThrowIfError(ExtAudioFileRead(effectState->sourceFile, &inNumberFrames, ioData), "Read failed!");
if(inNumberFrames == 0)
{
return noErr;
}然后,我处理音频并将其发送到缓冲区。
我想知道的是,我应该在return中放什么来停止播放?我试过了:
AudioOutputUnitStop(remoteIOUnit);只有一次,这是有效的。我不能再启动这个单位了。
谢谢大家,
吉姆
发布于 2011-08-22 18:35:15
似乎您无法停止远程io的副本。而不是复制,我只在我的结构中使用了rio,现在它可以工作了。
https://stackoverflow.com/questions/7103800
复制相似问题