我有5个按钮想要更改mediaPlayer来源fon单击这些按钮该怎么做?

时间:2020-09-27 15:31:26

标签: java android android-studio android-mediaplayer

我在mediaPlayer上遇到问题,我想使用botton的onClick更改(文件)mediaplayer = mediaplayer.create(r.folder。“ file”),如果按下另一个按钮,则再次更改它。 我有按钮,我想分配在每个事件中播放的不同声音

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

首先在活动中将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