2020/2/1学习总结
今天学习了在安卓程序中添加和播放背景音乐的方法。
实现过程如下:
1.设置音乐播放状态变量
定义音乐播放器对象
定义控制音乐播放按钮
2.获取布局文件中控制背景音乐按钮
调用PlayMusic()方法
3.实现PlayMusic()方法
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_select); if(MainActivity.isPlay==true){ PlayMusic(); } } private void PlayMusic(){ mediaPlayer=MediaPlayer.create(this,R.raw.main_music);//选定需要播放的音乐,音乐文件保存在raw文件夹中 mediaPlayer.setLooping(true);//设置循环播放 mediaPlayer.start(); }
背景音乐的开启与静音
实现过程:
创建OnMusic()方法,在布局文件中,为按钮绑定这个方法,使其单击后执行这个方法。首先判断如果音乐处于播放状态,单击“背景音乐按钮”。将停止音乐播放,并改变按钮的图标
public void OnMusic(View v){ if(isPlay==true){ if(mediaPlayer!=null){ mediaPlayer.stop(); music_btn.setBackgroundResource(R.drawable.btn_music2);//设置按钮为停止播放音乐状态 isPlay=false;//设置音乐处于停止状态 } }else{ PlayMusic(); music_btn.setBackgroundResource(R.drawable.btn_music1); isPlay=true; } }
跳转页面自动停止音乐播放:
创建onStop()方法,用于实现页面跳转时,自动停止音乐播放。然后创建onDesroy()方法清楚内存
protected void onStop(){ super.onStop(); if(mediaPlayer!=null) mediaPlayer.stop(); } //音乐资源停止并清空内存 protected void onDestroy(){ super.onDestroy(); if(mediaPlayer!=null){ mediaPlayer.stop(); mediaPlayer.release(); mediaPlayer=null; } }
页面返回时继续音乐播放:
创建onRestart()方法,用于实现根据音乐状态播放音乐
//返回主界面播放背景音乐 protected void onRestart(){ super.onRestart(); if(isPlay==true) PlayMusic(); }