是否可以使用MTAudioProcessingTap跳过输入样本?

时间:2013-09-27 03:58:43

标签: ios audio core-audio

我正在尝试使用MTAudioProcessingTap实现一个简单的间隙删除算法。

在我的process()函数中,我正在调用MTAudioProcessingTapGetSourceAudio()来检索音频。但是,如果我删除了一个间隙,我需要检索 more 音频以填充输出缓冲区,再次调用GetSourceAudio()似乎给我完全相同的输入音频。

如果我从numberFrames返回的时间少于process(),则iOS会填补空白,这不符合我的应用程序 - 我想提前准备。

如果我从numberFrames中检索到少于GetSourceAudio()个帧,则只返回前n帧 - 而不是后面的帧。

所以:

  • 有没有办法让MTAudioProcessingTap跳过时间?它真的是一个样本一次抽样的交易吗?
  • 如果您无法从GetSourceAudio()请求额外数据,并且不检索所有音频会导致输出中出现空白,那么让您询问特定数量的帧有什么意义?此外,如果参数必须始终与GetSourceAudio()参数中指定的完全一致,为什么我们甚至需要调用process()

9月30日更新:我已切换到TheAmazingAudioEngine,很高兴能为我提供尽可能多的音频。但是,我仍然对MTAudioProcessingTap的设计感到困惑。

0 个答案:

没有答案