【发布时间】:2014-01-09 14:11:07
【问题描述】:
我有一个几乎类似于正弦波的 mp3 文件,因此每当我将其淡出时,都会出现失真。我需要在很短的时间内(0.05 秒)淡出。计时器分辨率不足以涵盖这一点。因此,我需要读出样本,调整它们的增益,然后回放它们。我是在应用程序的原始 flash/AS3 版本中执行此操作的,但有人可以告诉我如何通过 ios 上的 core-audio 执行此操作吗?
【问题讨论】:
标签: ios objective-c core-audio
我有一个几乎类似于正弦波的 mp3 文件,因此每当我将其淡出时,都会出现失真。我需要在很短的时间内(0.05 秒)淡出。计时器分辨率不足以涵盖这一点。因此,我需要读出样本,调整它们的增益,然后回放它们。我是在应用程序的原始 flash/AS3 版本中执行此操作的,但有人可以告诉我如何通过 ios 上的 core-audio 执行此操作吗?
【问题讨论】:
标签: ios objective-c core-audio
如果有人想要类似的东西,我设法做到了。基本上,我使用了 AudioQueues 和扩展音频文件服务。
我在指定 32 位 PCM 格式时使用 ExtAudioFileServices 读取 mp3 文件。然后我启动一个 AudioQueue 并在回调中从文件对应的缓冲区中读取,调整它们的增益,并将它们复制到队列缓冲区。瞧:D
【讨论】: