【发布时间】:2019-05-06 15:22:12
【问题描述】:
我遇到了一个问题,即在使用外部库 (link) 并编写新的 MP4 文件时,导致它无法在多个播放器上播放,但在其他播放器上完全可以播放。
理论上,它应该可以立即在所有人身上播放,但事实证明并非如此。我正在创建这样的视频文件:
String timeStamp = new SimpleDateFormat("yyyy-MM-dd-HH:mm:ss",
Locale.getDefault()).format(new Date());
String imageFileName = "MyApp_" + timeStamp + "";
File video;
File storageDir = getExternalFilesDir(Environment.DIRECTORY_MOVIES);
try {
if(this.saveVideoToGallery){
storageDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MOVIES);
if(!storageDir.exists()){
boolean createdFolder = false;
try {
createdFolder = storageDir.mkdir();
} catch (Exception e){
e.printStackTrace();
}
if(!createdFolder){
storageDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM);
}
}
video = new File(storageDir, imageFileName + ".mp4");
} else {
if(!storageDir.exists()) {
try {
storageDir.mkdir();
} catch (Exception e) {}
}
video = File.createTempFile(
imageFileName, /* prefix */
".mp4", /* suffix */
storageDir /* directory */
);
}
} catch (IOException ioe){
ioe.printStackTrace();
video = new File(storageDir + imageFileName + ".mp4");
}
注意布尔值
saveVideoToGallery
只是一个可配置的全局变量,允许写入外部目录。
【问题讨论】:
标签: android android-camera2 android-file