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

Android Lollipop和更高版本的语音通话录音不工作

关项明
2023-03-14

我在AndroidLollipop和更高版本中录制语音通话时遇到问题。通过此代码,我能够录制我的声音,但无法录制其他人的声音。

    public void startRecording() {
    if (recording == false) {


        Log.e("here", "--------Recorder_Sarted------" + fname);
        SimpleDateFormat sdf = new SimpleDateFormat("ddMMyyyy");
        int randomPIN = (int) (Math.random() * 9000) + 1000;
        recorder.setAudioSource(MediaRecorder.AudioSource.VOICE_COMMUNICATION);
        recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
        recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
        String file = Environment.getExternalStorageDirectory().toString();
        String filepath = file + "/Aeris/Recording";
        File dir = new File(filepath);
        dir.mkdirs();
        Log.e("here ", "----------------" + sdf.format(Calendar.getInstance().getTime()) + " " + fname + " " + type);
        filepath += "/" + type + "-" + fname + "-" + sdf.format(Calendar.getInstance().getTime()) + "-" + randomPIN + ".3gp";
        recorder.setOutputFile(filepath);

        try {
            recorder.prepare();
        } catch (IllegalStateException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        recorder.start();
        recording = true;
    }
}

此代码在androidLollipop版本下运行良好。请帮我解决这个问题

共有1个答案

桓深
2023-03-14

音频源VOICE_COMMUNICATION到麦克风(麦克风)

recorder.setAudioSource(MediaRecorder.AudioSource.VOICE_COMMUNICATION);

在Moto g2(Android6.0),联想(Android5.0)中测试,其工作正常。

 类似资料:
  • 我有一个应用程序whcih记录传入和传出语音呼叫,它在Marshmallow或更高版本的设备上运行良好versions.But当我尝试在android 5.1.1上运行它时,它给我错误,应用程序停止响应。 我用于录制语音通话的代码是 - 编辑-我按照下面的回答做了,但是错误仍然存在。通过稍微调整代码,调用状态现在只被调用一次,但应用程序仍然崩溃,甚至异常也是一样的。

  • 问题内容: 我想通知任何传入和传出语音呼叫的代码。我需要掌握以下所有内容: 如果是来电或去电 拨打的号码或来电显示的电话号码 通话时长,或者如果错过了通话 如果电话号码与电话的联系人列表中的某人匹配,如果我可以获得更多的联系信息,特别是联系人姓名,那也将是一件很圆滑的事。 通话结束后,我需要我的代码来获取这些信息。也许我只是没有在寻找正确的术语,但是我很难找到如何实现此目标的任何示例。 如果有人可

  • 我正在做一个项目来记录在android中的VOIP通话,我没有找到任何解决方案,有很多应用程序支持手机上的VOIP录音。我找不到任何教程和帮助。Cube Call Recorder是提供此功能的应用程序之一,但我不知道如何做到这一点。我通过使用android MediaRecorder开始录音进行了测试,然后启动了WhatsApp通话,所以其他人无法收听我的声音。通话后,我检查了只有我的声音保存在

  • 问题内容: 我一直在尝试通过以下代码调整音频片段的音调: http://developer.android.com/guide/topics/media/audio- capture.html 我的猜测是应该使用进行此调整。 http://developer.android.com/reference/android/media/MediaRecorder.html 但是,我不确定调用哪种方法来改

  • 我在应用程序中内置了这个通话记录,问题是如果A打电话给B,A的声音响亮而清晰,但B的声音很低,但它与Android7完美配合 我在Android 9和10中测试了一些通话记录器应用程序,它有同样的问题,但我遇到了这个应用程序呼叫记录器 - Cube ACR,它也有问题,但是当我将记录设置为语音通话(软件)就像在图片中一样,更改此录音后非常清楚 这是项目使用的aykuttasil/CallRecor

  • 我在设计一个可以同时录制语音和将语音转换为文本的应用程序时遇到了这个bug。我使用Google API进行语音识别部分,并使用audioRecorder对象进行录音。它没有成功,因此我转而使用onBufferReceived()来检索过程中的字节(当用户说话时)。Google API代码现在是我代码的onResults()部分,它可以在没有UI的情况下进行语音识别。 这是代码