Android录音拨入和拨出电话
我想了解是否有一种方法,我可以logging在Android手机2.2及以上的来电和传出?
客户想要logging他们对客户的代理的呼叫,以便以后用它来填写一些资料。 他们不想让客户在通话中等待,而是希望稍后再做。
这是可能的,我需要使用哪些API?
首先,您必须小心录制电话,因为有国家的法律要求。
以下是关于如何使用MediaRecorder录制audio的博客文章 。
我还没有尝试录制通话,但MediaRecorder AudioSource中有一个选项用于:
- VOICE_CALL – 语音呼叫上行链路+下行链路audio源
- VOICE_DOWNLINK – 语音呼叫下行(Rx)audio源
- VOICE_UPLINK – 语音呼叫上行链路(Tx)audio源
只要音源选项有效,你应该很好走。
我正在使用麦克风来logging呼叫以获得更好的支持和兼容性。
MediaRecorder recorder = new MediaRecorder(); recorder.reset(); recorder.setAudioSource(MediaRecorder.AudioSource.MIC); recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4); recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC); recorder.setOutputFile(your_desired_folder_path); try { recorder.prepare(); } catch (java.io.IOException e) { recorder = null; return; } recorder.start();
在Android版本4上以编程方式调用录音是不稳定的,并且出于安全原因而被build立为仅一方(即使可能)。 许多供应商都有自己的通话logging硬件实现。 在我的应用程序有一个情况,我不得不通过按住logging电话会议,并添加一个新的电话。 当我按下保持呼叫logging停止,因为incall模式已经消失。
logging只要在Android手机通话中按下菜单button,它将以amr格式存储会话,并在SD卡的根目录下最多20分钟的通话。