在iPhone上播放时改变音频的音高

时间:2009-05-15 17:12:14

标签: iphone audio core-audio

实现这一目标的最佳方法是什么?

从我到目前为止所读到的内容来看,似乎你必须设置IO Remote(这本身就很痛苦)。你需要做FFT吗?那里有什么例子吗?

我可以加快/减慢播放速度吗?

由于

2 个答案:

答案 0 :(得分:6)

OpenAL允许您使用AL_PITCH源属性进行音高变换。也许你可以通过OpenAL运行音频并使用它。

答案 1 :(得分:0)

我从来没有为iPhone开发过,但如果您对发送到audiodevice的缓冲区有足够的控制权,那么您可以执行以下操作:

假设您从音频文件中读取缓冲区,如果您只将每个偶数样本发送到audiodevice(可能放入一些传递给某个函数的其他缓冲区),那么它将使频率加倍并且播放时间减半文件。

如果你想要介于两者之间的东西,你需要在两个样本之间进行计算,或者resample audiofile =插入连续样本之间的值。