我只是在這裏學習。我試圖製作一個大約有四十種聲音的音板,但我在使用一個maphash讓它工作時遇到了一些麻煩。任何人都可以救我嗎?MediaPlayer和地圖問題的Android應用程序(noob問題)
--------------音板-------------------------
import android.app.Activity;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageButton;
import java.util.HashMap;
import java.util.Map;
public class main extends Activity {
MediaPlayer mp=null;
\\\if I put put "MediaPlayer mp;" here it only plays one sound\\\
ImageButton Button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Map<Integer, Integer> map = new HashMap<Integer, Integer>();
map.put(R.id.button1, R.raw.sound1);
map.put(R.id.button2, R.raw.sound2);
for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
mp = MediaPlayer.create(this, entry.getValue());
\\\if I put "final MediaPlayer mp = MediaPlayer.create(this, entry.getValue());" here I cant stop MediaPlayer with onpause and onstop overrides.\\\
ImageButton button = (ImageButton) findViewById(entry.getKey());
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
mp.start();
}
});
}
}
@Override
protected void onStop() {
super.onStop();
if(mp.isPlaying()){
mp.stop();
mp.release();
}
}
@Override
public void onDestroy(){
super.onDestroy();
mp.release();
}
}
您面臨的問題是什麼? – MByD 2011-04-05 03:22:50
@MByD 林不知道如何說話,因爲我還是很新,但如果。如果我把「MediaPlayer mp;」活動之後,但在「創建」之前,我只能播放我的許多聲音之一。如果我在「oncreate」之後放置「final MediaPlayer mp」,則在應用程序關閉後繼續播放。我試圖讓它工作在兩種方式,所以所有的聲音工作,所以我可以暫停/停止/釋放,如果應用程序移動到背景。哦,謝謝你的幫助,在我上一篇文章中,我一直在這裏工作幾個小時。 – Colby 2011-04-05 03:44:14