网上找了一个简单的例程,代码如下
private MediaPlayer mp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mp = MediaPlayer.create(this, R.raw.xjwq);
mp.start();
mp.setLooping(true);
}
这样是能够正常播放的。
然后本人就想做一个按钮来切换这个播放的声音。
本人这么做了,
private MediaPlayer mp1;
private MediaPlayer mp2;
private MediaPlayer mp3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mp1 = MediaPlayer.create(this, R.raw.xjwq);
mp2 = MediaPlayer.create(this, R.raw.bg);
mp3 = MediaPlayer.create(this, R.raw.xghzj);
mp1.start();
mp1.setLooping(true);
}
然后在按钮内执行
switch(mpIndex)
{
case 0:
mp1.stop();
break;
case 1:
mp2.stop();
break;
case 2:
mp3.stop();
break;
}
mpIndex ++;
if(mpIndex == 3) mpIndex = 0;
if(mpIndex == 0)
{
mp1.start();
mp1.setLooping(true);
}
else if(mpIndex == 1)
{
mp2.start();
mp2.setLooping(true);
}
else
{
mp3.start();
mp3.setLooping(true);
}
本人就想循环的播放资源文件里面的3个文件,这种方式报错
ERROR/MediaPlayer(9974): start called in state 64
ERROR/MediaPlayer(9974): error (-38, 0)
ERROR/MediaPlayer(9974): Error (-38,0)
问一下怎么做?