【问题标题】:record call on Android nougat 7.0在 Android nougat 7.0 上录制通话
【发布时间】:2018-05-12 20:05:47
【问题描述】:

我正在使用一个简单的媒体记录器来记录通话 它在设备上工作正常

recorder = new MediaRecorder();  
    recorder.setAudioSource(MediaRecorder.AudioSource.MIC);  
    recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);  
    recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);  
    recorder.setOutputFile(audiofile.getAbsolutePath());  

【问题讨论】:

标签: java android call android-7.0-nougat android-mediarecorder


【解决方案1】:

经过一个月关于通话录音的研究,我发现在每个 Android 版本上都有使用 MediaRecorder 的类型来使其工作,我们不能对所有 Android 版本只使用一种类型。我在我的项目中使用的这条规则,目前,它适用于所有大多数 android 版本。

if (android.os.Build.VERSION.SDK_INT < Build.VERSION_CODES.M) {
    recorder.setAudioSource(MediaRecorder.AudioSource.VOICE_CALL);
    callType = "VOICE_CALL";
} else if (android.os.Build.VERSION.SDK_INT < Build.VERSION_CODES.N) {
    recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
    callType = "MIC";
} else {
    recorder.setAudioSource(MediaRecorder.AudioSource.VOICE_COMMUNICATION);
    callType = "VOICE_COMMUNICATION";
}

为了快速检查,您可以查看我的示例:https://github.com/tntkhang/call-recording-master

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-05
    • 2017-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多