我使用媒体记录器类来录制语音并将其上传到网络服务器,但我不知道录制语音的文件何时完全写入SD卡上。
你知道有一个界面可以帮助我查明文件是否完整保存在SD卡上吗?
最佳答案
你自己不停止录音吗?如果我处于像您这样的情况,我会这样做。
创建一个
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);
通过单击录制按钮调用这些方法来开始录制:
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(); } });
单击停止按钮即可停止录制,然后上传文件:
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/