2014-02-05 74 views
0

我正在製作一款android應用程序,通過點擊不同的圖像按鈕來播放不同的聲音文件。聲音文件最多10-15秒,我計劃有大約20-25個不同的聲音文件。我確實知道如何實現SoundPool和MediaPlayer,但我不知道應該選擇哪一種,更具體地說哪一種更合適,並且在這種情況下使用較少的內存資源。謝謝SoundPool或MediaPlayer

回答

2

因爲SoundPool存儲聲音未壓縮在內存中的即時播放和執行音高改變的效果,你應該一定會去MediaPlayer你的情況。除非您需要能夠同時播放多個聲音,否則一個重複使用的MediaPlayer實例應該足夠了。在這種情況下,您可以創建一個可重用MediaPlayer實例的小池。不要將其實例化太多,因爲它們佔用的音軌系統資源僅限於我記得的30。

在我上次的Android遊戲中,我使用了兩個SoundPool來製作非常短的聲音剪輯(每個剪輯約1秒),一個5個可重複使用的MediaPlayer實例池。 MediaPlayer幾乎沒有明顯的播放延遲。

你也可以採取混合的方法。如果您的應用具有需要瞬間重複/同時播放的較短聲音片段,則可以將它們加載到SoundPool中。