[英]Android mediaPlayer setDataSource failed giving IOException
這個問題很奇怪。 問題是,每當我嘗試使用時間戳記的String命名文件時,setDataSource方法均無法給出IOException,但是如果我給出的名稱(例如包含諸如“ Hello.m4a”之類的字母)的名稱將正常工作。
以下代碼給出了錯誤:
java.io.IOException:setDataSource失敗。
outputFile =Environment.getExternalStorageDirectory()+"/Notes/Audio/AUD_";
private String getTimeStamp() {
Calendar calendar = Calendar.getInstance();
return new SimpleDateFormat("ddMMyyyyHHmmss",Locale.ENGLISH).format(calendar.getTimeInMillis())+".m4a";
}
mediaPlayer.setDataSource(outputFile+getTimeStamp());
mediaPlayer.prepare();
下面的代碼工作正常
outputFile =Environment.getExternalStorageDirectory()+"/Notes/Audio/AUD_";
private String getTimeStamp() {
return "hello.m4a"
}
mediaPlayer.setDataSource(outputFile+getTimeStamp());
mediaPlayer.prepare();
我想用時間戳命名文件,以輕松地構造文件。
setDataSource(String path)
設置要使用的數據源(文件路徑)。
文件的路徑不能為null 。
否則,您將得到一個錯誤-在您的情況下為IOException
。
另外,您正在嘗試訪問不存在的文件。 表達方式
SimpleDateFormat("ddMMyyyyHHmmss",Locale.ENGLISH).format(calendar.getTimeInMillis())+".m4a"
使用當前時間創建一個字符串,該字符串在您的目錄中不存在。
您應該傳遞確切的文件路徑。
為此,您需要具有讀取/寫入外部存儲的權限。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.