6

我想知道我们是否可以在 android 中接收 DTMF 音。假设,我接到一个电话,一旦我接听电话,是否可以检测到其他人在我们通话期间按下的键。我已经走了通过许多有关此的堆栈溢出问题,但其中大多数都没有提供解决方案。

通过java反射或类似的方式实现它怎么样?之前的所有帖子都是针对2.2和3.0版本的。现在我们在4.0及以上版本中,那么4或以上版本可能吗?

提前致谢

4

1 回答 1

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);

而且,这个项目可以帮助你:

http://code.google.com/p/dtmf-decoder/source/checkout

我已经这样做了,所以我知道这是可能的。

祝你好运

于 2013-02-15T09:02:03.530 回答