gpt4 book ai didi

iphone - 生成 DTMF 音

转载 作者:行者123 更新时间:2023-12-03 18:38:36 26 4
gpt4 key购买 nike

我想知道是否有人遇到过在 iPhone SDK 中生成铃声的方法。我正在尝试生成 DTMF 音调,但似乎找不到任何实质性内容。我还希望能够指定播放音调的时间(即模拟按住按钮而不是简单地按下按钮......

我发现了一个名为 iPhreak 的开源应用程序。据说它会生成 DTMF 音来欺骗公用电话(我向你保证这不是我的意图 - 我的公司处理基于电话的内部通信系统)。该应用程序的唯一问题是开源项目中缺少文件。也许其他人过去已经让这个项目运行起来了?

如果有人知道我会在哪里寻找这样的东西,我将非常感谢我的投票:)

最佳答案

应该很容易自己生成。鉴于硬件可以以 44.1 khz 播放 pcm 缓冲区(16 位样本)(它肯定可以通过某些库函数或其他函数实现),您只需计算波形即可:

 const int PLAYBACKFREQ = 44100;
const float PI2 = 3.14159265359f * 2;

void generateDTMF(short *buffer, int length, float freq1, float freq2)
{
int i;
short *dest = buffer;
for(i=0; i<length; i++)
{
*(dest++) = (sin(i*(PI2*(PLAYBACKFREQ/freq1))) + sin(i (PI2*(PLAYBACKFREQ/freq2)))) * 16383;
}
}

16383 已完成,因为我使用加法合成(只需将正弦波加在一起)。因此最大结果是 -2.0 - 2.0 因此乘以 16383 后我或多或少得到最大 16 位结果:-32768 - +32767

编辑:这 2 个频率是其他回答者链接到的维基百科文章中的频率。两个独特的频率产生 DTMF 声音

关于iphone - 生成 DTMF 音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1399501/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com