1

这是我的代码的一部分:

mediaRecorder.setVideoSource(MediaRecorder.VideoSource.DEFAULT);    
CamcorderProfile camcorderProfile_HQ = CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH);     
mediaRecorder.setProfile(camcorderProfile_HQ);    
mediaRecorder.setOutputFile("/sdcard/Video.mp4");    
mediaRecorder.setMaxDuration(600000000); // Set max duration 60 sec.    
mediaRecorder.setMaxFileSize(500000000); // Set max file size 5M    

全班将视频从实时摄像头录制到 SD 卡。但由于我总是用相同的路径保存它,我录制的新视频会覆盖之前的视频。如何更改每次以新名称保存的路径或视频不会相互覆盖的方式?

4

2 回答 2

3

不要使用硬核字符串,如'/sdcard'or '/mnt/sdcard'

始终使用Environment.getExternalStorageDirectory(). 每次使用以下函数获取新名称。

 private File getNextFileName() 
 {
    File file = new File(Environment.getExternalStorageDirectory(), "Video_" + System.currentTimeMillis() + ".mp4" );
    return file;
 }
于 2013-03-13T11:13:19.760 回答
0

而不是 video.mp4 获取 System.nanoTime() 并将其插入到路径中。

mediaRecorder.setOutputFile("/sdcard/" + System.nanoTime() + "_video.mp4");    
于 2013-03-13T11:08:10.797 回答