作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
对于我的iPhone应用程序,我正在尝试使用Apple的MixerHostAudio class来混合和播放用户指定的音频文件。
为了使MixerHostAudio类播放用户指定的文件,我使用文件的NSURL实例化了该类。这对于第一个实例化非常有用,但是,当我想通过释放旧的MixerHostAudio类并分配一个新的音频文件来更改播放的音频文件时,实例化后几秒钟EXC_BAD_ACCESS
会使应用程序崩溃。
进行一些调试之后,我注意到该错误发生在inputRenderCallback
中,其中AudioUnitSampleType
的audioDataLeft
(audioDataRight
和soundStructPointerArray
)为nil。
这是发生错误的代码的一部分:
for (UInt32 frameNumber = 0; frameNumber < inNumberFrames; ++frameNumber) {
outSamplesChannelLeft[frameNumber] = dataInLeft[sampleNumber];
if (isStereo) outSamplesChannelRight[frameNumber] = dataInRight[sampleNumber];
最佳答案
在释放stopAUGraph
实例之前,您是否调用过MixerHostAudio
?在我看来,dealloc
方法不会自动将其停止。那么释放/释放各种内存位置后将调用回调,这将导致严重的访问崩溃。
关于iphone - 使用Apple的MixerHostAudio示例类时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4170922/
我是一名优秀的程序员,十分优秀!