Iphone 使用Apple';s MixerHostAudio示例类

Iphone 使用Apple';s MixerHostAudio示例类,iphone,objective-c,audio,core-audio,Iphone,Objective C,Audio,Core Audio,对于我的iPhone应用程序,我尝试使用Apple的来混合和播放用户指定的音频文件 为了让MixerHostAudio类播放用户指定的文件,我用文件的NSURL实例化了该类。这对于第一次实例化非常有效,但是当我想通过释放旧的MixerHostAudio类并分配一个新的类来更改播放的音频文件时,应用程序在实例化后几秒钟会崩溃,并出现EXC_BAD_ACCESS 在进行一些调试之后,我注意到错误发生在inputRenderCallback中,其中soundstructurepointerray的Au

对于我的iPhone应用程序,我尝试使用Apple的来混合和播放用户指定的音频文件

为了让MixerHostAudio类播放用户指定的文件,我用文件的NSURL实例化了该类。这对于第一次实例化非常有效,但是当我想通过释放旧的MixerHostAudio类并分配一个新的类来更改播放的音频文件时,应用程序在实例化后几秒钟会崩溃,并出现
EXC_BAD_ACCESS

在进行一些调试之后,我注意到错误发生在
inputRenderCallback
中,其中
soundstructurepointerray
AudioUnitSampleType
audioDataLeft
,和
audioDataRight
)为零

这是发生错误的代码的一部分:

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

非常感谢您的帮助!

在释放
MixerHostAudio
实例之前,您是否调用了
stopAUGraph
?在我看来,
dealloc
方法不会自动停止它;然后在释放/释放各个内存位置后调用回调,这将导致严重的访问崩溃