[英]I have 5 buttons I want to change mediaPlayer source fonClick of the buttons how to do that?
我在使用 mediaPlayer 时遇到问题我想使用 onClick 按钮更改(文件)mediaplayer=mediaplayer.create(r.folder."file") 并在按下另一个按钮时再次更改它。 我有按钮,我想为每个事件分配不同的声音
使用 switch 语句并根据按钮的 id 创建具有不同来源的媒体文件
首先在活动中使 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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.