我的mediaPlayer有问题,我想用点击按钮来更改(文件(mediaPlayer=mediaPlayer.create(r.folder."文件"(,如果按下另一个按钮,则再次更改。我有按钮,我想分配不同的声音在每个事件上播放
首先在活动中使MediaPlayer变量为全局变量,并在onCreate方法在您的活动中触发时分配它,如
Private MediaPlayer mediaPlayer ;
@Override
public void onCreate() {
super.onCreate();
//assign the media player
mediaPlayer = new MediaPlayer();
}
假设你的5个按钮被分配为{button1 button2 button3 button4和button5},像这个一样向所有按钮添加onclick监听器
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//change the music
}
});
现在我们要做的是,每次你点击一个按钮,我们都想重置现有的MediaPlayer,然后为其分配一个新文件,然后播放该文件。
因此,在每个侦听器的onClick事件中,您需要运行代码
mediaPlayer.reset();
try {
mediaPlayer.setDataSource("/storage/emulated/0....path to yor file");
mediaPlayer.prepare();
mediaPlayer.start();
}
catch (Exception ex){
//we have an exception
};
每个按钮的onClick监听器现在应该看起来像这个
//button1
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//change the music
mediaPlayer.reset();
try {
mediaPlayer.setDataSource("/storage/emulated/0....path to yor file");
mediaPlayer.prepare();
mediaPlayer.start();
}
catch (Exception ex){
//we have an exception
};
//button 2
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//change the music
mediaPlayer.reset();
try {
mediaPlayer.setDataSource("/storage/emulated/0....path to yor file");
mediaPlayer.prepare();
mediaPlayer.start();
}
catch (Exception ex){
//we have an exception
};
}
});
}
});
//Button 3 , 4 and 5
使用switch语句,并根据按钮的id创建具有不同源的媒体文件