簡體   English   中英

我有 5 個按鈕我想更改按鈕的 mediaPlayer 源 fonClick 怎么做?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM