使用AudioManager控制手机音频

有时候,程序需要管理系统音量,或者直接让系统静音,这就可以借助AudioManager来实现。在通过getSystemService(Service.AUDIO_SERVICE)方法获取系统音频管理器(AudioManager)后,就可以调用AudioManager如下常用方法控制手机音频了:

使用AudioManager控制手机音频_第1张图片

使用AudioManager控制手机音频_第2张图片

下面用一个简单示例来演示AudioManager的控制手机音频,代码如下:

Activity:

package com.guyun.audiotest;

import android.app.Activity;
import android.app.Service;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.ToggleButton;

public class AudioTestActivity extends Activity {
	// 声明AudioManager对象
	private AudioManager aManager;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_audio_test);
		// 获取系统的音频服务
		aManager = (AudioManager) getSystemService(Service.AUDIO_SERVICE);
		// 获得ToggleButton按钮
		ToggleButton tb = (ToggleButton) findViewById(R.id.activity_audio_test_tb);
		tb.setOnCheckedChangeListener(new OnCheckedChangeListener() {

			@Override
			public void onCheckedChanged(CompoundButton buttonView,
					boolean isChecked) {
				// 指定调节音乐的音频,根据isChecked确定是否需要静音
				aManager.setStreamMute(AudioManager.STREAM_MUSIC, isChecked);
			}
		});
	}

	public void click(View v) {
		switch (v.getId()) {
		case R.id.activity_audio_test_btn_play:
			// 初始化MediaPlayer对象,准备播放音乐
			MediaPlayer mplayer = MediaPlayer.create(AudioTestActivity.this,
					R.raw.girl);
			// 设置循环播放
			mplayer.setLooping(true);
			// 开始播放
			mplayer.start();
			break;
		case R.id.activity_audio_test_btn_up:
			// 指定调节音乐的音频,增大音量,而且显示音量图形示意
			aManager.adjustStreamVolume(AudioManager.STREAM_MUSIC,
					AudioManager.ADJUST_RAISE, AudioManager.FLAG_SHOW_UI);
			break;
		case R.id.activity_audio_test_btn_down:
			// 指定调节音乐的音频,降低音量,而且显示音量图形示意
			aManager.adjustStreamVolume(AudioManager.STREAM_MUSIC,
					AudioManager.ADJUST_LOWER, AudioManager.FLAG_SHOW_UI);

		}
	}
}


布局XML:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal" >

    <Button
        android:id="@+id/activity_audio_test_btn_play"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="click"
        android:text="播放" />

    <Button
        android:id="@+id/activity_audio_test_btn_up"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="click"
        android:text="增大音量" />

    <Button
        android:id="@+id/activity_audio_test_btn_down"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="click"
        android:text="减少音量" />

    <ToggleButton
        android:id="@+id/activity_audio_test_tb"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textOff="设置为静音"
        android:textOn="取消静音" />

</LinearLayout>


你可能感兴趣的:(manager)