使用 Apple 的 MixerHostAudio 示例类时遇到问题
Posted
技术标签:
【中文标题】使用 Apple 的 MixerHostAudio 示例类时遇到问题【英文标题】:Trouble using Apple's MixerHostAudio example class 【发布时间】:2010-11-13 04:11:49 【问题描述】:对于我的 iPhone 应用,我正在尝试使用 Apple 的 MixerHostAudio class 来混合和播放用户指定的音频文件。
为了让 MixerHostAudio 类播放用户指定的文件,我用文件的 NSURL 实例化了该类。这对于第一次实例化非常有用,但是当我想通过释放旧的 MixerHostAudio 类并分配一个新类来更改播放的音频文件时,应用程序在实例化后以 EXC_BAD_ACCESS
秒崩溃。
在做了一些调试后,我注意到错误出现在inputRenderCallback
,其中soundStructPointerArray
的AudioUnitSampleType
(audioDataLeft
和audioDataRight
)为nil。
这是发生错误的部分代码:
for (UInt32 frameNumber = 0; frameNumber < inNumberFrames; ++frameNumber)
outSamplesChannelLeft[frameNumber] = dataInLeft[sampleNumber];
if (isStereo) outSamplesChannelRight[frameNumber] = dataInRight[sampleNumber];
非常感谢任何帮助!
【问题讨论】:
【参考方案1】:在发布MixerHostAudio
实例之前,您是否致电stopAUGraph
?在我看来,dealloc
方法不会自动停止它;然后在释放/释放各种内存位置后调用回调,这将导致错误的访问崩溃。
【讨论】:
以上是关于使用 Apple 的 MixerHostAudio 示例类时遇到问题的主要内容,如果未能解决你的问题,请参考以下文章
使用 Apple 登录按钮标题始终显示“SIGN_IN_WITH_APPLE”