我有一个带有一个播放/停止音乐按钮的应用。当我运行应用程序时,音乐会在启动时停止。但我想在运行应用程序时自动播放音乐,如果单击按钮,音乐就会停止。我搜索了网站,但我找不到答案。请帮助我的朋友们。
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.test2);
mainkan=(ImageButton)findViewById(R.id.imageButton1);
mainkan.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v){
go();
}
});
public void go(){
mp=MediaPlayer.create(ProjectisengActivity.this, R.raw.test);
if(mp.isPlaying()){
mp.stop();
try {
mp.prepare();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
mp.seekTo(0);
答案 0 :(得分:1)
你可以这样说:
if (mp == null) {
mp = MediaPlayer.create(ProjectisengActivity.this, R.raw.test);
}
if (mp.isPlaying()) {
mp.pause();
} else {
mp.start();
}
答案 1 :(得分:0)
您可以使用下面的切换按钮
ToggleButton toggle = (ToggleButton) findViewById(R.id.togglebutton);
toggle.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
// The toggle is enabled
} else {
// The toggle is disabled
}
}
});
答案 2 :(得分:0)
在您的activity oncreate方法中调用go()方法。 当你再次点击它时,它会在活动开始时自动播放,并再次调用相同的方法,因此条件正在进行,因此它已停止。
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.test2);
mainkan=(ImageButton)findViewById(R.id.imageButton1);
go();
mainkan.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v){
go();
}
});
public void go(){
mp=MediaPlayer.create(ProjectisengActivity.this, R.raw.test);
if(mp.isPlaying()){
mp.stop();
try {
mp.prepare();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
mp.seekTo(0);