2011-08-18 141 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在我的結構和現在的作品。

相關問題