我的資產目錄中有一個音頻文件。資產/音頻/ dance.mp3。從上下文資產中的Uri加載MediaPlayer
如果我運行context.getAssets()。list(「audio」);它出現了。
但是當我嘗試使用MediaPlayer.create(context,uri)時,它總是失敗並返回null。
沒有這似乎工作
private void tryLoad(String path,Context context)
{
Uri uri = Uri.parse(path);
this.audioPlayer = MediaPlayer.create(context,uri);
if (this.audioPlayer == null)
{
Log.d(TAG, "loadAudio: audioPlayer is null. current assets"+ uri.toString()) ;
}
else
{
Log.d(TAG, "loadAudio: WORKED"+ uri.toString()) ;
}
}
public void loadAudio(Context context)
{
if (this.audioPlayer != null)
return;
if (this.audioFile != null && this.audioFile.length() >0)
{
try
{
tryLoad("/dance.mp3",context);
tryLoad("dance.mp3",context);
tryLoad("audio/dance.mp3",context);
tryLoad("/audio/dance.mp3",context);
tryLoad("assets/audio/dance.mp3",context);
tryLoad("/assets/audio/dance.mp3",context);
tryLoad("\\dance.mp3",context);
tryLoad("dance.mp3",context);
tryLoad("audio\\dance.mp3",context);
tryLoad("\\audio\\dance.mp3",context);
tryLoad("assets\\audio\\dance.mp3",context);
tryLoad("\\assets\\audio\\dance.mp3",context);
}
catch (Exception e)
{
Log.d(TAG, "loadAudio exception: " + e.getMessage());
}
}
}
哎呀..沒看到你的答案(剛編輯舊的),反正 - +1速度更快:) – MByD 2011-05-17 20:32:42
@ madmik3嗨,你可以獎勵懸賞這個如果你認爲這是正確的答案。否則,您的賞金可能會丟失,因爲它在您接受答案時不會自動授予。 – Michael 2011-05-24 05:01:58