我有一系列聲音文件的擴展文件。較長的是.mp3文件,而較短的聲音效果是.wav文件。我將它們打包在一個沒有壓縮的.zip文件中。我使用Google提供的Zip文件閱讀器和下載器庫。從擴展文件播放聲音文件
我打開聲音文件,如下所示:
MediaPlayer mPlayer;
...
AssetFileDescript asd = expansionFile.getAssFileDescriptor(fileName);
FileDescriptor soundFile = asd.getFileDescriptor();
mPlayer = new MediaPlayer();
mPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mPlayer.setDataSource(soundFile);
mPlayer.prepare();
mPlayer.start();
奇怪的是,它起着每一次相同的聲音文件。它似乎是無論什麼先找到。 asd.getDeclaredLength()
和asd.getLength()
的字節大小正是它應該是的。這意味着文件描述符至少可以找到文件,但由於某種原因,MediaPlayer播放它決定的任何隨機文件。
我在這裏錯過了什麼?任何幫助將不勝感激。
謝謝。
你能告訴我創建擴展文件的方法,我還需要上傳mp3文件作爲擴展並從中讀取 –
我假設你已經閱讀了這些指導原則。 http://developer.android.com/guide/google/play/expansion-files.html – DeeV
除此之外,你這樣做的方式是使用像WinRar或WinZip這樣的程序。歸檔您需要的文件並適當地命名它們。 **請勿使用壓縮*。在WinRar的情況下,你會說「歸檔存儲」,這將做0%的壓縮。這對聲音文件來說很重要,因爲它與數據一起使用。歸檔完成後,只需將文件擴展名「.zip」重命名爲「.obb」即可。 – DeeV