[英]Toggle mc play/pause button for music doesn't work. Music linked for export (AS) in library
[英]play and pause music with toggle button
當用戶單擊MUSIC ON切換按鈕時,我正在嘗試播放音樂,而當用戶單擊MUSIC OFF時,音樂將暫停。 打開應用程序時,我還需要播放音樂。 這是我的代碼,但是不起作用:
MediaPlayer mediaPlayer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mediaPlayer = MediaPlayer.create(getApplicationContext(), R.raw.vapor);
mediaPlayer.start();
.....
}
MusicButton = (ToggleButton)findViewById(R.id.toggleButton);
MusicButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(MusicButton.isChecked()){
mediaPlayer.start();
}
else{
mediaPlayer.stop();
mediaPlayer.release();
}
}
});
@Override
public void onPause() {
mediaPlayer.stop();
mediaPlayer.release();
super.onPause();
}
@Override
public void onResume() {
mediaPlayer = MediaPlayer.create(this, R.raw.vapor);
mediaPlayer.setLooping(false);
mediaPlayer.start();
super.onResume();
}
錯誤日志:
com.myapp $ MainActivity $ 2.onClick(MainActivity.java:80)處android.media.MediaPlayer.start(MediaPlayer.java:1384)處android.media.MediaPlayer._start(本機方法)處的java.lang.IllegalStateException
首先,您不應在ToggleButton
上使用setOnClickListener()
, ToggleButton
具有函數setOnCheckedChangeWidgetListener
來監聽compent的狀態。第二,關於您的錯誤,可能是未選中ToggleButton
,單擊它時, ToggleButton
被選中並調用代碼mediaPlayer.start();
,但您已經在onCreate()
啟動了mediaPlayer,可以對其進行檢查。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.