我想知道我们是否可以在 android 中接收 DTMF 音。假设,我接到一个电话,一旦我接听电话,是否可以检测到其他人在我们通话期间按下的键。我已经走了通过许多有关此的堆栈溢出问题,但其中大多数都没有提供解决方案。
通过java反射或类似的方式实现它怎么样?之前的所有帖子都是针对2.2和3.0版本的。现在我们在4.0及以上版本中,那么4或以上版本可能吗?
提前致谢
我想知道我们是否可以在 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);
而且,这个项目可以帮助你:
http://code.google.com/p/dtmf-decoder/source/checkout
我已经这样做了,所以我知道这是可能的。
祝你好运