簡體   English   中英

Android mediaPlayer setDataSource無法提供IOException

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM