2012-03-10 16 views
0

オーディオユニットをベースとしたObjective-Cオーディオアプリがあります。私はサウンドを再生してから停止し、最初のサウンドから最後のバッファが聞こえる別のサウンドを再生します。私はioDataや何かを解放すべきだと思いますが、私の試行はすべて失敗しました。メモリから再生された最後のバッファを削除する

static OSStatus playbackCallback(void *inRefCon, AudioUnitRenderActionFlags *ioActionFlags, const AudioTimeStamp *inTimeStamp, UInt32 inBusNumber, UInt32 inNumberFrames, AudioBufferList *ioData) 
{ 
    RemoteIOPlayer *remoteIOplayer = (__bridge RemoteIOPlayer *)inRefCon; 

    for (int i = 0 ; i < ioData->mNumberBuffers; i++) 
    { 
     AudioBuffer buffer = ioData->mBuffers[i]; 
     UInt32 *frameBuffer = buffer.mData; 

     for (int j = 0; j < inNumberFrames; j++) 
     { 
      frameBuffer[j]= [[remoteIOplayer inMemoryAudioFile] getNextPacket:inBusNumber]; 
     } 
    } 
    return noErr; 
} 

助けてください:)ありがとうございます。

答えて

0

これはちょうど約です.Augraphを初期化して、ユーザーが停止した後で再び初期化します。

関連する問題