我在资产文件夹中有一个带有曲目的媒体播放器,我想为每首歌曲制作一个开始/停止按钮。我可以播放它,但是如果我再次单击该按钮,它不会停止音乐,它将开始另一个音乐而不停止第一个:s。
这是我现在正在使用的代码:
public void onClick(View v) {
try {
AssetFileDescriptor afd = getAssets().openFd("4.mp3");
player = new MediaPlayer();
player.setDataSource(afd.getFileDescriptor(),afd.getStartOffset(),afd.getLength());
player.prepare();
if(player.isPlaying()){
player.stop();
} else {
player.start();
}
}
catch (IllegalArgumentException e) { }
catch (IllegalStateException e) { }
catch (IOException e) { }
}
编辑1:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
player = new MediaPlayer();
TextView sound4 = (TextView) findViewById(R.id.cancionCuatro);
sound4.setOnClickListener(soundFour);
try {
AssetFileDescriptor afd = getAssets().openFd("4.mp3");
player.setDataSource(afd.getFileDescriptor(),afd.getStartOffset(),afd.getLength());
player.prepare();
}
catch (IllegalArgumentException e) { }
catch (IllegalStateException e) { }
catch (IOException e) { }
}
OnClickListener soundFour = new OnClickListener() {
public void onClick(View v) {
if(player.isPlaying()){
player.stop();
} else {
player.start();
}
}
};
LogCat:在状态 0 错误中开始调用(-38,0)