我想知道我们是否可以在android中接收到DTMF音。假设我接到一个电话,一旦我接听电话,是否有可能检测到对方在通话过程中按的键。我走了通过许多与此有关的堆栈溢出问题,但其中大多数没有提供解决方案。
如何通过java反射或类似的方式实现它。所有早期的文章都是针对2.2和3.0版本的。目前我们处于4.0或更高版本中,所以可能在4或更高版本中?
提前致谢
SDK 中没有包可以执行此操作。
首先,您需要听扬声器的声音,因为您无法录制语音通话:
AudioManager mAudioManager = (AudioManager) Sos.getContext().getSystemService(Context.AUDIO_SERVICE);
int maxVolume = mAudioManager.getStreamMaxVolume(AudioManager.STREAM_VOICE_CALL);
mAudioManager.setStreamVolume(AudioManager.STREAM_VOICE_CALL, maxVolume, AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE);
mAudioManager.setSpeakerphoneOn(true);
Run Code Online (Sandbox Code Playgroud)
并且,这个项目可以帮助您:
http://code.google.com/p/dtmf-decoder/source/checkout
我已经这样做了,所以我知道这种方式是可能的。
祝你好运
| 归档时间: |
|
| 查看次数: |
4113 次 |
| 最近记录: |