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