0
我正在用android studio编程媒体播放器。它有3个选项: 1.play 2.stop 3.pause ...播放和停止作品。但是,当我点击暂停它不起作用,然后停止不起作用,音乐连续播放! 它在MainActivity代码:编程媒体播放器,但暂停不工作
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button b1= (Button) findViewById(R.id.play);
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(MainActivity.this,PlayAndPause.class);
startService(i);
a=1;
}
});
Button b2 = (Button) findViewById(R.id.stop);
b2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i= new Intent(MainActivity.this,PlayAndPause.class);
stopService(i);
}
});
Button b3= (Button) findViewById(R.id.pause);
b3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(MainActivity.this,PlayAndPause.class);
startService(i);
a=2;
}
});
}
和它的PlayandPause服务:
public class PlayAndPause extends Service {
MediaPlayer mp;
@Override
public void onStart(Intent intent, int startId) {
super.onStart(intent, startId);
mp=MediaPlayer.create(this,R.raw.s);
if(MainActivity.a==1)
mp.start();
if(MainActivity.a==2) {
mp.pause();
}
}
@Override
public void onDestroy() {
super.onDestroy();
mp.stop();
}
请帮助!谢谢。
谢谢回答。但它不起作用! :( – dashsiamak
嗯...我看...这是因为你每次调用服务时初始化'MediaPlayer' ...并且你必须每次都使用相同的实例!!!把'mp = MediaPlayer.create(this, R.raw.s);'in'onCreate()'或者在MainActivity中声明并初始化它,在服务中使用'pause()'或'play()' –
我首先使用了额外的部分,但它有错误在获取意图:无法解决方法'getintent()' – dashsiamak