2011-04-04 108 views
0

我正在使用地圖構建包含約40種聲音的音板。 (Previous thread)在Android應用程序中使用地圖時暫停MediaPlayer

有沒有人知道一個好的方法來暫停重新啓動Mediaplayer如果應用程序被移動到後臺(來電或類似的東西)?我在這方面還很新,所以它可能是一個超級簡單的東西。感謝任何人可以幫助。

地圖地圖=新

HashMap中();

map.put(R.id.button1,R.raw.sound1);

map.put(R.id.button2,R.raw.sound2);

...

,然後遍歷:

爲(Map.Entry的條目:map.entrySet()){

final MediaPlayer sound = MediaPlayer.create(entry.getValue()); 

Button button = (ImageButton) findViewById(entry.getKey()); 

button.setOnClickListener(new View.OnClickListener() { 

    @Override 

    public void onClick(View v) { 

     sound.start(); 

    } 

}); 

}

回答

0

我假設您不想一起播放所有聲音,因此您可以在循環外聲明mediaplayer對象,然後不需要知道正在播放哪個文件。您可以使用sound.pause();sound.stop();sound.reset();(取決於您要預成型的動作)我建議您查看android docs以瞭解如何正確實施它。

如果你想爲每個文件你想我懷疑創建媒體播放器,保存mediaplayers在圖/表和暫停/時onPause()在循環重置。

0

替代Activity.onPause()。這被稱爲每當你的應用程序進入後臺,主頁按鈕或後退按鈕或來電或厄運魔術雷雲。

+0

我以前用過這個,但是我不知道如何停止正在播放的聲音,因爲地圖我不知道單個文件要暫停。大聲笑doomclouds – Colby 2011-04-05 00:06:24