文件完成后如何停止RemoteIO?

时间:2011-08-18 07:25:25

标签: ios core-audio

我正在使用以下内容播放音频:

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

这一次有效。我无法再次启动该装置。

全心全意,

吉姆

1 个答案:

答案 0 :(得分:0)

看来你无法停止远程io的副本。而不是复制我只使用我的结构中的rio,现在它可以工作。