2011年6月2日

Android: MediaPlayer 播放Asset中的檔案

因為Security保密原因media server 無法存取你的程式私有資料目錄,
所以你必須在程式中開檔案,然後使用setDataSource(fd)
將檔案Filedescriptor傳給media player。
當然也可將檔案複製到SD卡,然後播其路徑。

AssetFileDescriptor afd = getAssets().openFd("test.MP3"); 
mp.setDataSource(afd.getFileDescriptor(),afd.getStartOffset(),afd.getLength()); 
mp.prepare();
mp.start();
afd.close();

沒有留言: