我只是在这里学习。我试图制作一个大约有四十种声音的音板,但我在使用一个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