我计划在 android 中创建一个 centerx 系统应用程序。其中有一个语音信箱会设置在接收方。根据语音邮件中的指示,呼叫者必须按下拨号盘中的号码,接收方应识别该号码并执行相应的操作。有谁知道如何在接收方检测呼叫者按下的号码?
其背后的技术是什么?
在安卓上可以吗?
任何帮助将不胜感激..
有谁知道如何在接收方检测呼叫者按下的号码?
您需要一个 DTMF 检测器/解码器。这是一个相当深入研究的话题,你可以谷歌一下。不完美的实现很容易实现(例如,8 个 Goertzel 过滤器)并且适用于大多数情况。标准级别的质量实施要困难得多,但您并不真正需要这些。
其背后的技术是什么?
多音检测。这是一个值得探索的有趣主题。即使是现代数据传输,例如 ADSL,也是建立在它的基础上的(不过比 DTMF 先进得多)。但是,为了您的目的,一个简单的“过滤器组”应该可以。
在安卓上可以吗?
当然,您只需要获取音频数据(样本)并将其输入检测器即可。您获取样本的方式取决于您获取声音的方式。在 Java 中,你可能会使用MediaRecorder
API 和MediaRecorder.AudioSource.VOICE_CALL
以确定您想要来自通话的音频,而不是麦克风)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)