zoukankan      html  css  js  c++  java
  • 3.1.4 简单音乐播放器实现

    package com.example.sample3_2;
    
    import java.io.IOException;
    
    import com.example.sample3_2.R;
    
    import android.media.AudioManager;
    import android.media.MediaPlayer;
    import android.os.Bundle;
    import android.app.Activity;
    import android.view.Menu;
    import android.view.View;
    import android.widget.Button;
    import android.widget.Toast;
    
    public class MyActivity extends Activity {//Activity创建时调用
        private Button bPlay;           //播放按钮
        private Button bPause;          //暂停按钮
        private Button bStop;           //停止按钮
        private Button bAdd;           //增大音量
        private Button bReduce;         //降低音量
        private boolean pauseFlag=false;   //暂停标记,true暂停态,false非暂停态
        MediaPlayer mp;                 //MediaPlayer引用
        AudioManager am;                //AudioManager引用
        @Override
        protected void onCreate(Bundle savedInstanceState) {//Activity创建时调用
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);                  //设置Activity的显示内容
            bPlay = (Button) findViewById(R.id.ButtonPlay);       //播放按钮的实例化
            bPause = (Button) findViewById(R.id.ButtonPause);     //暂停按钮的实例化
            bStop = (Button) findViewById(R.id.ButtonStop);       //停止音量按钮的实例化
            bAdd = (Button) findViewById(R.id.ButtonAdd);      //增大音量按钮的实例化
               bReduce = (Button) findViewById(R.id.ButtonReduce);   //降低音量按钮的实例化
               mp = new MediaPlayer();
               am = (AudioManager) this.getSystemService(this.AUDIO_SERVICE);
               bPlay.setOnClickListener(new View.OnClickListener() {//播放按钮的监听器
                
                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    try {
                        mp.setDataSource("/sdcard/dl.mid");//加载音频进入Initialized状态
                    } catch (IllegalArgumentException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    } catch (SecurityException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    } catch (IllegalStateException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                    try {
                        mp.prepare();                 //进入Prepared状态
                    } catch (IllegalStateException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                    mp.start();                        //播放音乐
                    Toast.makeText(MyActivity.this, "播放音乐", Toast.LENGTH_SHORT).show();  
                }
            });
               bPause.setOnClickListener(new View.OnClickListener() {
                
                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    if(mp.isPlaying()){              //如果是在播放状态
                        mp.pause();                  //调用暂停方法
                        pauseFlag = true;            //设置暂停标记
                    }else if(pauseFlag){
                        mp.start();                  //播放音乐
                        pauseFlag = false;           //设置暂停标记
                        Toast.makeText(MyActivity.this, "暂停播放", Toast.LENGTH_SHORT).show();
                    }
                }
            });
               bStop.setOnClickListener(new View.OnClickListener() {
                
                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    mp.stop();                     //停止播放
                    mp.reset();                    //重置状态到uninitialized状态
                    try {
                        mp.setDataSource("/sdcard/dl.mid");       //加载音频进入Initialized状态
                    } catch (IllegalArgumentException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    } catch (SecurityException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    } catch (IllegalStateException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                    try {
                        mp.prepare();                 //进入Prepared状态
                    } catch (IllegalStateException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                    Toast.makeText(MyActivity.this, "停止播放", Toast.LENGTH_SHORT).show();
                }
            });
               bAdd.setOnClickListener(new View.OnClickListener() {      //音量增大按钮添加监听器
                
                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    am.adjustVolume(AudioManager.ADJUST_RAISE, 0);   //增大音量
                    System.out.println("faaa");          
                    Toast.makeText(MyActivity.this, "增大音量", Toast.LENGTH_SHORT).show();
                }
            });
               bReduce.setOnClickListener(new View.OnClickListener() {   //音量降低按钮添加监听器
                
                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    am.adjustVolume(AudioManager.ADJUST_LOWER, 0);   //减小音量
                    Toast.makeText(MyActivity.this, "减小音量", Toast.LENGTH_SHORT).show();
                }
            });
            
        }  
    
    /*    @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            // Inflate the menu; this adds items to the action bar if it is present.
            getMenuInflater().inflate(R.menu.main, menu);
            return true;
        }
    */
    }
    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.example.sample3_2"
        android:versionCode="1"
        android:versionName="1.0" >
    
        <uses-sdk
            android:minSdkVersion="8"
            android:targetSdkVersion="17" />
    
        <application
            android:allowBackup="true"
            android:icon="@drawable/icon"
            android:label="@string/app_name"
            android:theme="@style/AppTheme" >
            <activity
                android:name="com.example.sample3_2.MyActivity"
                android:label="@string/app_name" >
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
    
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
        </application>
    
    </manifest>
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >
        <Button
            android:text="播放音乐"
            android:id="@+id/ButtonPlay"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content">         
        </Button>                                <!-- 播放音乐按钮 -->   
        <Button
            android:text="暂停音乐"
            android:id="@+id/ButtonPause"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content">     
        </Button>                                <!-- 暂停音乐按钮 -->
        <Button 
            android:text="停止音乐"
            android:id="@+id/ButtonStop"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content">        
         </Button>                               <!-- 停止音乐按钮 -->
         <Button
             android:text="增大音乐"
             android:id="@+id/ButtonAdd"
             android:layout_width="fill_parent"
             android:layout_height="wrap_content"> 
          </Button>                              <!-- 增大音乐按钮 -->
          <Button
              android:text="降低音乐"
              android:id="@+id/ButtonReduce"
              android:layout_width="fill_parent"
              android:layout_height="wrap_content">
          </Button>                              <!-- 降低音乐按钮 -->
    </LinearLayout>
    <?xml version="1.0" encoding="utf-8"?>
    <resources>
    
        <string name="app_name">Sample3_2</string>
        <string name="action_settings">Settings</string>
        <string name="hello_world">Hello world!</string>
    
    </resources>
  • 相关阅读:
    浏览器返回按钮不会触发onLoad事件
    TCP慢启动算法
    TCP协议三次握手过程分析
    关于新增和编辑
    Mock, 让你的开发脱离接口
    到底数据驱动是个什么玩意
    pagination分页插件
    关于状态切换
    在线占位图网站
    Arduino nano 与 w5500模块的连接与调试
  • 原文地址:https://www.cnblogs.com/ZHONGZHENHUA/p/7453261.html
Copyright © 2011-2022 走看看