Android解码来自其他手机的DTMF代码



我想实时处理其他手机产生的DTMF代码。如果一部手机使用ToneGenerator发送#1234,我希望它在接收应用程序中解码为#1234。我该怎么做?

您可以使用AudioRecord来记录来自VOICE_DOWNLINK AudioSource的音频,然后对录制的音频执行快速傅里叶变换,将其拆分为不同频率的"箱子"。根据这些信息,可以猜测是否正在播放给定的音调(例如,如果在特定频率上有很多能量,但频谱中其他地方的能量很少)。

在谷歌代码中有一个叫做dtmf-decoder的项目试图做到这一点。我自己没有使用过,所以我不知道它的效果如何。

最新更新