当我播放另一个文件然后连续播放上一个文件时,我有音频文件。 所以,如果你有解决方案,请告诉我。
这是我的main.java
公共类MusicAndroidActivity扩展了Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
buttonPlay = (Button) findViewById(R.id.play);
music = (ListView)findViewById(R.id.music);
// music.setAdapter(new ArrayAdapter<String>(this,, str));
music.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,int position, long id) {
switch (position){
case 0:
MediaPlayer mp = MediaPlayer.create(getApplicationContext(),R.raw.hosannatamil);
mp.start();
mp.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
public void onCompletion(MediaPlayer mp) {
mp.release();
}
});
break;
case 1:
MediaPlayer mp1 = MediaPlayer.create(getApplicationContext(),R.raw.one_less);
mp1.start();
mp1.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
public void onCompletion(MediaPlayer mp) {
mp.release();
}
});
break;
case 2:
MediaPlayer mp2 = MediaPlayer.create(getApplicationContext(),R.raw.words);
mp2.start();
mp2.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
public void onCompletion(MediaPlayer mp) {
mp.release();
}
});
break;
}
}
});
}
答案 0 :(得分:0)
如果要停止播放,则需要手动调用 MediaPlayer.stop()。
如果您想再次启动相同的MediaPlayer,则必须在此之前调用 .prepare()。
有关详细信息,请阅读reference page并查看其中的状态图。
答案 1 :(得分:0)
if(mediaPlayer.isPlaying())
{
//stop or pause your media player mediaPlayer.stop(); or mediaPlayer.pause();
mediaPlayer.pause();
}
else
{
mediaPlayer.start();
}
将此条件置于switch语句之前,mediaPlayer.start()也会创建Media Player的全局引用,而不是创建三个引用,如MediaPlayer mediaPlayer而不是MediaPlayer mp,mp1,mp2等,因为您可以创建Media Player对象同一个引用作为一个条件必须始终为true,也在switch语句中设置一个默认条件!