我实现了一个类似于AUGraph的iOS开发者图书馆。然而,在我的应用程序中,我需要能够以不同的采样率(可能是两个不同的)播放声音。
我一直在查看苹果的文档,还没有找到在运行时设置样本率的方法。我一直在想三种可能的工作:
这些方法在处理器上看起来都很笨重。
在运行时更改AUGraph的采样率的最佳方法是什么?
发布于 2011-12-28 18:54:15
通常为连续音频流方案#1。
通过使用您所列出的另一种方法,您的程序可能有特殊的需要或好处:
但是,如果您只需要使用SRC进行回放,并且延迟最低并不需要考虑,您可以尝试使用AudioQueue。
发布于 2011-12-28 18:43:36
我很确定它不能在运行时完成。解决方案2是您最好的选择,与#3一样。对于示例速率转换,libsndfile可能可以适应您的需要。
发布于 2011-12-28 18:58:04
如果您不希望从拆卸和重建音频图形的延迟,您可能需要重采样声音数据(除了一个样本率)。
您可以在开始播放之前对声音数据进行重采样,或者作为音频图的一部分运行实时重放。许多iOS音乐应用程序将后者作为基于内置采样器的合成单元的一部分,因此该设备具有足够的计算能力。
https://stackoverflow.com/questions/8658396
复制相似问题