gpt4 book ai didi

java - 使用媒体录音机在 Android 中录制音频

转载 作者:行者123 更新时间:2023-12-01 10:41:44 24 4
gpt4 key购买 nike

我使用媒体记录器类来录制语音并将其上传到网络服务器,但我不知道录制语音的文件何时完全写入SD卡上。

你知道有一个界面可以帮助我查明文件是否完整保存在SD卡上吗?

最佳答案

你自己不停止录音吗?如果我处于像您这样的情况,我会这样做。

  1. 创建一个 MediaRecorder 对象并设置以下属性:

    private MediaRecorder myAudioRecorder; 
    String outputFile = Environment.getExternalStorageDirectory().getAbsolutePath() + "/recording.3gp";
    myAudioRecorder=new MediaRecorder();
    myAudioRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
    myAudioRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
    myAudioRecorder.setAudioEncoder(MediaRecorder.OutputFormat.AMR_NB);
    myAudioRecorder.setOutputFile(outputFile);
  2. 通过单击录制按钮调用这些方法来开始录制:

    record.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
    try {
    myAudioRecorder.prepare();
    myAudioRecorder.start();
    } catch (IllegalStateException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    Toast.makeText(getApplicationContext(), "Recording started", Toast.LENGTH_LONG).show();
    }
    });
  3. 单击停止按钮即可停止录制,然后上传文件:

    stop.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
    myAudioRecorder.stop();
    myAudioRecorder.release();
    myAudioRecorder = null;

    Toast.makeText(getApplicationContext(), "Audio recorded successfully",Toast.LENGTH_LONG).show();

    doUpload(outputFile); //call the method to upload your file and perform upload.
    }
    });

一旦您停止mediaRecorder并释放它,录制的文件就会保存在您的存储卡中,因此您不必担心。之后立即上传您的文件即可。

关于java - 使用媒体录音机在 Android 中录制音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34378755/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com