2010-11-13 36 views
0

對於我的iPhone應用程序,我試圖使用Apple的MixerHostAudio class來混合和播放用戶指定的音頻文件。使用Apple的MixerHostAudio示例類時出現問題

爲了讓MixerHostAudio類播放用戶指定的文件,我使用NSURL文件實例化了類。這對於第一個實例非常適用,但是當我想通過釋放舊的MixerHostAudio類來更改播放的音頻文件並分配新的應用程序時,該應用程序在實例化後會以EXC_BAD_ACCESS秒的速度崩潰。

做一些調試後,我注意到,在inputRenderCallback,其中soundStructPointerArrayAudioUnitSampleTypeaudioDataLeftaudioDataRight)爲零時出現錯誤。

這是部分的代碼發生錯誤的位置:

for (UInt32 frameNumber = 0; frameNumber < inNumberFrames; ++frameNumber) { 
    outSamplesChannelLeft[frameNumber]     = dataInLeft[sampleNumber]; 
    if (isStereo) outSamplesChannelRight[frameNumber] = dataInRight[sampleNumber]; 

任何幫助,不勝感激!

回答

0

您是否在發佈MixerHostAudio實例之前調用stopAUGraph?在我看來,dealloc方法不會自動停止它;那麼在釋放/釋放各種內存位置之後將調用回調,這會導致訪問崩潰。

相關問題