当前位置: 首页 > 知识库问答 >
问题:

呼叫记录器在android 10中不工作(Q)

别开诚
2023-03-14

在Android 10(Pixel 3A)中,通话记录器在持续时间内录制空白。它适用于所有手机,直到Android 8和Android 9,大多数手机只录制一侧语音(但在像素3A中工作正常)

有没有办法在Android10中录制通话?

下面的代码似乎不再工作了。

    int audioSource = MediaRecorder.AudioSource.VOICE_CALL;
    mediaRecorder.setAudioSource(audioSource);
    mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
    mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
    mediaRecorder.setAudioEncodingBitRate(32);
    mediaRecorder.setAudioSamplingRate(44100);
    mediaRecorder.setOutputFile(MediaUri);
    mediaRecorder.prepare();
    mediaRecorder.start();

如果使用SDK 28或更低版本,则会在整个过程中进行通话录音,但没有任何语音。如果使用SDK 29,则通话录音开始时失败,提示检查回调中的可用音频。

我希望它是Google Android 10中的一个错误,并且一些补丁可以修复它。

共有3个答案

叶展
2023-03-14

我正在使用android 10版本的Realme2pro设备,它通过使用< code>Accessibility为我工作

要实现辅助功能,请通过此链接

public class Accessibility extends AccessibilityService {

Service mService = null;

@Override
public void onAccessibilityEvent(AccessibilityEvent event) {
    Log.d("MyAccessibilityService", "Shrinidhi: onAccessibilityEvent");
}

@Override
public void onInterrupt() {

}


@Override
protected void onServiceConnected() {
    Log.d("MyAccessibilityService", "Shrinidhi: onServiceConnected");
}

@Override
public void onCreate() {
    this.mService = this;
    Log.d("MyAccessibilityService", "Shrinidhi: onCreate");
 }
}

并将AudioSource添加到recorder.setAudioSource(MediaRecorder.AudioSource.VOICE_RECOGNITION);

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

希望它工作:)

拓拔坚
2023-03-14

根据谷歌的新权限政策,没有其他第三方应用(系统应用除外)可以记录来自Android 9 Pie的通话。

此更改不会影响以前的录音或通话录音。

祁均
2023-03-14

可以使用辅助功能服务

远程通话记录器和BoldBeast都可以在Android 10 (Pixel 3A)中完美地记录双方的语音,而不必root或成为系统应用程序。两者都使用辅助功能服务。

详细信息请参见此链接。

 类似资料:
  • 我正在开发一个Android应用程序,用于使用媒体记录器录制通话,它适用于某些设备,但不能在7.1.1及更高版本的设备上录制其他人的声音,特别是在moto g设备上。 这是我的媒体记录器代码。 有没有办法实现这一点,请建议

  • 我已经开发了一个用于WebRTC视频呼叫的android应用程序,运行良好。现在的要求是记录通话音频并将其存储在外部存储器中。我尝试过MedieRecorder,它正在录制音频并存储,但这里面临一个问题。当我开始录制音频时,声音在接收器一侧停止。Media Recorder不允许webrtc使用麦克风。 我尝试了以下代码。 我也尝试过“录音机”音频源(媒体记录器,音频源.MIC);录音机音频源(M

  • 问题内容: 我正在使用开放式天气地图api网络服务进行ajax调用,以便使用纬度和经度获取当前天气,问题是同一调用在我的常规php文件夹中有效,但在我的phongap应用程序中不起作用。我的ajax调用如下所示 我没有尝试将其更改为,但没有任何效果。请帮助我,因为我目前对此仍然感到困惑。 问题答案: 您是否已将config.xml中的网址列入白名单? 了解更多:http : //docs.phon

  • 如何获得呼叫的位置?不是全部地点,只是一个地区?也许android有一些API?未找到内容解析程序和Calllog.calls.content_uri

  • 更新:任何人都知道如何强迫另一个流到麦克风音频源。这需要原生android代码。请在这方面帮助我,请参考这个问题,以获得更多关于路由音频的详细信息

  • 使用AudioSource VOICE_UPLINK和Voice_Downlink成功录制的任何一个呼叫。 还有一个问题:-当音频源VOICE_CALL不工作时,它有什么用? 谢谢你。