2012-01-19 36 views
2

對於我的Android應用程序,我想要背景音樂。它不必跨越活動,所以服務無關緊要。背景音樂長度和速度

的Soundpool似乎停止播放.OGG或MP3播放大約6秒後 的MediaPlayer沒有改變音樂的速度(速度)的能力

我想這樣做是爲了讓用戶在播放時改變背景音樂的速度。這看起來像SoundPool可以做到這一點,但很難說,因爲它只能播放幾秒鐘。

有關如何做到這一點的任何建議?

回答

1

的Soundpool是壞與wav文件,與MP3,我沒有問題...

public final int play (int soundID, float leftVolume, float rightVolume, int priority, int loop, float rate) 

浮動率 - 0.5值的一半速度意味着播放,可以0.5-2 ....我認爲你應該使用SoundPool ...至於我,我很欣賞Mediaplayer ...

+0

你知道爲什麼該文件可能會停止播放5-8秒後?我曾嘗試過mp3和.ogg文件。 – ndgreen

+0

所以我想出了一個解決方案。只要音樂片段很短(大約7秒鐘)並使其循環,就可以使用SoundPool。此時歌曲的速度可以改變。我仍然不確定如何爲更長的音樂做到這一點,但這種解決方案至少可以用於小型遊戲音效循環。 – ndgreen

+0

是的,Soundpool是爲遊戲中的短暫效果而製作的......在我上一個應用程序中,我爲所有mp3使用一個mediaplayer,它們與release()和stop()...之間進行交互...音樂mp3播放20-30秒...也許你的mp3質量太高了?看看他們的屬性作爲一個記錄,並尋找Android UI機會... – timonvlad