创建重复的dtmf音调以与AVAudioPlayer一起播放

时间:2010-10-14 22:04:26

标签: core-audio avaudioplayer dtmf

嗨,我正在尝试创建一个重复的dtmf音,这样我就可以用AVAudioPlayer播放它了。目前  当我在一些音频编辑软件(如大胆)中循环播放时,在重复的位置总会出现毛刺或音调变化。是否有一些特定的时间我需要创建它以避免这种情况。我最初在大胆中创造了一秒dtmf音,但这并没有顺利重复。

1 个答案:

答案 0 :(得分:0)

它不能像你尝试的那样顺利重复。

您应该计算两个频率的周期,并相应地计算环路长度。

例如,如果组合770和1336 hz,则最小样本为1000/770 =和1000/1336。

然后,在此处使用您的采样率。设为44100.您的样品长度为:

1000 * 44100/770 = 57272个样本

1000 * 44100/1336 = 33009个样本

长度的最小公倍数是1890491448,以秒为单位,即42868秒。

因此,创建循环并播放它并不可行。

您可以:动态创建正弦波并将其混合,或者为基本频率创建正弦波样本,然后将它们混合或同时播放。