我有5个按钮我想更改mediaPlayer源fonClick的按钮如何做到



我的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创建具有不同源的媒体文件

相关内容

  • 没有找到相关文章

最新更新