2012-05-31 133 views
2

每次按下按鈕時,我都想播放聲音。快速點擊播放聲音android

問題是,如果我按它快,然後有時聲音播放..但有時它不會播放。

如果我按了20次按鈕(非常快),那麼聲音最好應該播放20次。但是會發生什麼,聲音沒有時間完成。它平均播放8-9次。

我已經初始化了我的mediaPlayer對象。這似乎工作。

mp1.start(); 

我也嘗試了下面的代碼,但是這只是第一次播放聲音。之後,聲音從不播放。

if(mp1.isPlaying()) 
    mp1.stop(); 
    mp1.start(); 

回答

6

問題是,MediaPlayer類是一個相對較重的對象,可能不適合以較小的間隔播放小文件。所以我的建議是使用SoundPool

SoundPool是一個相對較輕重量的物體,並會幫助你的情況。

這是基於它的樣本,

http://www.vogella.com/articles/AndroidMedia/article.html#tutorial_soundpool

+1

太好了!這工作完美:)我也使用這個教程http://blog.nelsondev.net/?p=207 – Genaut

+0

哇。這很棒。感謝您指出另一個很好的例子。我不知道這一點。 –