【发布时间】:2010-11-19 06:52:03
【问题描述】:
我正在尝试使用 Apple 的 MixerHostAudio 类来混合和播放用户指定的音频文件。
类文件可以在这里找到:http://developer.apple.com/library/ios/#samplecode/MixerHost/Listings/Classes_MixerHostAudio_h.html
为了让 MixerHostAudio 类播放用户指定的文件,我用文件的 NSURL 实例化了该类。这对于第一次实例化非常有用,但是当我想通过释放旧的 MixerHostAudio 类并分配一个新的类来更改播放的音频文件时,应用程序在声音开始播放几秒钟后崩溃并出现“EXC_BAD_ACCESS”。
在做了一些调试之后,我注意到错误发生在 inputRenderCallback 中,其中 soundStructPointerArray 的 AudioUnitSampleType (audioDataLeft, and audioDataRight) 为 nil。
这是发生错误的部分代码:
for (UInt32 frameNumber = 0; frameNumber < inNumberFrames; ++frameNumber) {
outSamplesChannelLeft[frameNumber] = dataInLeft[sampleNumber];
if (isStereo) outSamplesChannelRight[frameNumber] = dataInRight[sampleNumber];
我是否可以在不出错的情况下实例化多个 MixerHostAudio 实例??
非常感谢任何帮助。
【问题讨论】:
标签: iphone ios core-audio avaudioplayer