• Android开发之控制手机音频


    本实例通过MediaPlayer播放一首音乐并通过AudioManager控制手机音频。关于AudioManager的具体解释可參照:Android开发之AudioManager(音频管理器)具体解释

    程序执行效果图:


    控制手机音频

    实例代码:


    package com.jph.audiomanagerdemo;
    
    import android.media.AudioManager;
    import android.media.MediaPlayer;
    import android.os.Bundle;
    import android.app.Activity;
    import android.app.Service;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.CompoundButton;
    import android.widget.CompoundButton.OnCheckedChangeListener;
    import android.widget.ToggleButton;
    /**
     * Describe:</br>
     * 控制数据音频
     * 本实例通过MediaPlayer播放一首音乐并
     * 通过AudioManager控制手机音频 
     * */
    public class AudioManagerDemo extends Activity {
    	Button btnPlay,btnUp,btnDown;
    	ToggleButton btnMute;
    	AudioManager aManager;
    	MediaPlayer mPlayer;
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.main);
    		btnDown=(Button)findViewById(R.id.btnDown);
    		btnPlay=(Button)findViewById(R.id.btnPlay);
    		btnUp=(Button)findViewById(R.id.btnUp);
    		btnMute=(ToggleButton)findViewById(R.id.btnMute);
    		//初始化AudioManager
    		aManager=(AudioManager) getSystemService(Service.AUDIO_SERVICE);
    		OnClickListener listener=new OnClickListener() {			
    			@Override
    			public void onClick(View v) {
    				// TODO Auto-generated method stub
    				switch (v.getId()) {
    				case R.id.btnPlay:
    					//初始化MediaPlayer为播放音乐做准备
    					mPlayer=MediaPlayer.create(
    							AudioManagerDemo.this, R.raw.music);
    					//设置音乐循环播放
    					mPlayer.setLooping(true);
    					//播放
    					mPlayer.start();
    					break;
    				case R.id.btnUp:
    					//指定调节音乐的音频为增大。并显示音量图形
    					aManager.adjustStreamVolume(AudioManager.STREAM_MUSIC,
    							AudioManager.ADJUST_RAISE, AudioManager.FLAG_SHOW_UI);
    					break;					
    				case R.id.btnDown:
    					//指定调节音乐的音频为减小,并显示音量图形
    					aManager.adjustStreamVolume(AudioManager.STREAM_MUSIC,
    							AudioManager.ADJUST_LOWER, AudioManager.FLAG_SHOW_UI);
    					break;				
    				default:
    					break;
    				}
    			}
    		};
    		//为按钮加入监听器
    		btnDown.setOnClickListener(listener);
    		btnPlay.setOnClickListener(listener);
    		btnUp.setOnClickListener(listener);
    		btnMute.setOnCheckedChangeListener(new OnCheckedChangeListener() {			
    			@Override
    			public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
    				// TODO Auto-generated method stub
    				//设置音乐静音
    				aManager.setStreamMute(AudioManager.STREAM_MUSIC, isChecked);
    			}
    		});		
    	}
    }
    
    main.xml


    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        <Button
            android:id="@+id/btnPlay"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:text="播放"/>
        <Button
            android:id="@+id/btnUp"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
            android:layout_below="@+id/btnPlay"
            android:text="增大音量"/>
        <Button
            android:id="@+id/btnDown"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
            android:layout_below="@+id/btnUp"
            android:text="减小音量"/>
        <ToggleButton android:id="@+id/btnMute"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
            android:layout_below="@+id/btnDown"
            android:textOn="关闭静音"
            android:textOff="开启静音"/>
    
    </RelativeLayout>
    




  • 相关阅读:
    BZOJ 1069 最大土地面积
    BZOJ 1059 矩阵游戏
    BZOJ 3570 动物园
    Luogu 3934 Nephren Ruq Insania
    Luogu 3233 [HNOI2014]世界树
    CF613D Kingdom and its Cities
    Luogu 4001 [BJOI2006]狼抓兔子
    Luogu 2824 [HEOI2016/TJOI2016]排序
    POJ 3463 Sightseeing
    Luogu 2495 [SDOI2011]消耗战
  • 原文地址:https://www.cnblogs.com/jhcelue/p/7077784.html
Copyright © 2020-2023  润新知