2011-11-22 37 views
0

我不認爲什麼是好的,但它的作品。如何用一個MediaPlayer實例更正播放RAW音頻文件?

我想知道它是什麼我喜歡嗎?

我有2個文件tick.wav和tock.wav至極必須由計時器滴答滴答或播放。 setLooping不好,因爲我需要通過timer init來玩。

所以我嘗試了兩種方法:

首先

我有可變MediaPlayer的熔點;

當我需要打節拍我打電話mp=MediaPlayer.create(context,tickID),當我需要發揮滴答我打電話

當我打電話mp.start();

有一段時間它的工作很好,我聽到了嘀嗒聲,但是後來我開始從mediaplayer得到錯誤。我認爲這是因爲之前的MediaPlayer實例仍在播放文件。

所以我做的下一:我創建了兩個變量

tickPlayer=MediaPlayer.create(tickID); 

tockplayer=MediaPlayer.create(tockID); 

,然後我需要滴答我打電話tockPlayer.start()當我需要打勾我打電話tickplayer.start()

我不工作,但(總是存在,但是)如果文件將超過2,也許是100? 創建一系列媒體播放器,如Vector<MediaPlayer> mpPlayers? 並呼籲需要?我認爲這很快就吃掉了我的記憶。

因此,目標是:我需要正確的播放RAW格式的媒體播放器的縮短反應文件,我該怎麼做?

回答

0

可能你不需要Vector來存儲媒體文件,我想你可以使用java反射來獲取關於「raw」資源的信息,因爲raw是來自R.java的靜態類。

你在停止媒體播放器嗎? tickPlayer.stop()。

相關問題