zoukankan      html  css  js  c++  java
  • 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();
        }
  • 相关阅读:
    无标题
    UVA 11987 并查集删点
    屯题 (bestcoder #62~#75)
    codeforces 293E Close Vertices 点分治+滑窗+treap
    hdu4670 Cube number on a tree 点分治
    hdu4812 D Tree 点分治
    poj2112 Boatherds 点分治
    HDU 4866 Shooting 二分+主席树
    poj1741 Tree 点分治
    关于点分治。。。
  • 原文地址:https://www.cnblogs.com/wangzhaojun1670/p/12251236.html
Copyright © 2011-2022 走看看