2011-08-18 135 views
0

我使用下面的播放音频:如何停止RemoteIO当文件完成?

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; 
     } 

然后我处理音频,并将其发送到缓冲区。

是我把我想知道在返回停止播放?我试过了:

AudioOutputUnitStop(remoteIOUnit); 

而且这个工作,一次。我无法再次启动本机。

感谢所有,

吉姆

回答

0

看来,你不能阻止远程IO的副本。而不是拷贝我只用了Rio在我的结构和现在的作品。

相关问题