我有 5 个按钮 我想更改按钮的 mediaPlayer 源 fonClick 怎么做?

I have 5 buttons I want to change mediaPlayer source fonClick of the buttons how to do that?

我在使用 mediaPlayer 时遇到问题 我想使用按钮的 onClick 更改 (file) mediaplayer=mediaplayer.create(r.folder."file") 并在按下另一个按钮时再次更改它. 我有按钮,我想为每个事件分配不同的声音

使用 switch 语句并根据按钮的 id 创建具有不同来源的媒体文件

首先在 activity 中使 MediaPlayer 变量成为全局变量,并在 Activity 中触发 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