mediaRecorder保存音频文件但损坏

时间:2019-01-14 14:41:05

标签: android-studio

我在Android Stuio上制作了一个记录通话的项目。 当程序保存音频文件时,其大小为非零(10-90kb),但在属性中,文件的时间为0。 我真的不知道该怎么办以及如何解决它。 记录在服务上,我对其进行了调试,并且看到它创建了文件,并在调用结束并且路径有效时执行onDestroy函数。

我的代码:

public int onStartCommand(Intent intent, int flags, int startId) {
    mediaRecorder = new MediaRecorder();
    mediaRecorder.reset();
    String phoneNum = intent.getStringExtra("number");
    String path = new Helper().getPath();
    String time= new Helper().getTimeHelper();

    String recFullPath = path+"/"+phoneNum+"_"+time+".mp4";

    mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
    mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
    mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);

    mediaRecorder.setOutputFile(recFullPath);

    try{
        mediaRecorder.prepare();
    }catch (Exception e)
    {
        e.printStackTrace();
    }
    mediaRecorder.start();

    return START_NOT_STICKY;
}

@Override
public void onDestroy() {
    super.onDestroy();
    mediaRecorder.stop();
    mediaRecorder.reset();
    mediaRecorder.release();
    mediaRecorder=null;
}

}

谢谢Rotem。

0 个答案:

没有答案