【发布时间】:2011-04-12 07:07:39
【问题描述】:
有没有办法通过android代码记录来电?
如果不存在这个功能,那么一些第三方应用程序如何记录通话?
【问题讨论】:
标签: android
有没有办法通过android代码记录来电?
如果不存在这个功能,那么一些第三方应用程序如何记录通话?
【问题讨论】:
标签: android
录制通话的能力取决于硬件或固件。大多数 Android 手机都没有设置音频路径的内部“布线”,以便语音通话音频完全到达应用处理器。
可让您在市场上录制通话的应用程序:
仅适用于上述不正确的特定手机(极少数型号)
或者在他们要求您使用免提电话的情况下使用黑客,并实际从电话麦克风录制通话音频,捕捉电话扬声器发出的内容...
【讨论】:
a) 获取 READ_PHONE_STATE 和 RECORD_AUDIO 权限
b) 注册电话状态接收器
<receiver android:name="com.record.app.callrecorderapp.CallStateListener" >
<intent-filter>
<action android:name="android.intent.action.PHONE_STATE" />
</intent-filter>
</receiver>
c) 来电时触发录音
public class CallStateListener extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
if (TelephonyManager.EXTRA_STATE_RINGING.equals(state)) {
startRecording();
}
}
}
d) 进行实际录制
void startRecording() {
recorder = new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.VOICE_CALL);
recorder.setOutputFile(filePath);
recorder.start();
}
还有更多的簿记,但你会弄明白的。
应该可以在大约 50% 的设备上使用,包括 Galaxy S4 + S5
【讨论】: