Android中手机声音调节步骤

  • Post author:
  • Post category:其他





Android

中手机声音调节步骤:



a、通过系统服务获得声音管理器:



AudioManager audioManager =  (AudioManager)getSystemService(Service.AUDIO_SERVICE);



b、根据实际需要调用适当的方法:(常用方法)




audioManager.adjustStreamVolume(int streamType, int  direction, int flags);




streamType:声音类型,可取的为STREAM_VOICE_CALL(打电话时的声音), STREAM_SYSTEM(Android系统声音), STREAM_RING(电话铃响), STREAM_MUSIC(音乐声音) or STREAM_ALARM(警告声音)。



direction:调整音量的方向,可取为ADJUST_LOWER(调低音量), ADJUST_RAISE(调高音量), or ADJUST_SAME(保持先前音量)。



flags:可选标志位(如要显示出音量调节UI,使用如下flag:AudioManager.FLAG_SHOW_UI)。




audioManager.setStreamMute(int streamType, boolean state);

设置指定声音类型(streamType)是否为静音。如果state为true,则设置为静音;否则,不设置为静音。




audioManager.setRingerMode(int ringerMode);




设置铃音模式,可取值为RINGER_MODE_NORMAL(铃音正常模式), RINGER_MODE_SILENT(铃音静音模式), or RINGER_MODE_VIBRATE(铃音震动模式,即铃音为静音,启动震动)。




audioManager.setMode(int mode);




设置声音模式,可取值为MODE_NORMAL(正常模式,即在没有铃音与电话的情况), MODE_RINGTONE(铃响模式), MODE_IN_CALL(接通电话模式) or MODE_IN_COMMUNICATION(通话模式)。



注意:声音的调节是没有权限要求的。






example:


package com.example.audiomanageproject;

import android.media.AudioManager;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageButton;
import android.widget.Toast;
import android.app.Activity;


public class AudioManagerActivity extends Activity {
	private ImageButton voice_on=null;
	private ImageButton voice_off=null;
	private ImageButton voice_vibrate=null;
	private ImageButton voice_lower=null;
	private ImageButton voice_raise=null;
	private AudioManager audioManager=null;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        voice_on=(ImageButton) findViewById(R.id.voice_on);
        voice_off=(ImageButton) findViewById(R.id.voice_off);
        voice_vibrate=(ImageButton) findViewById(R.id.voice_vibrate);
        voice_lower=(ImageButton) findViewById(R.id.voice_lower);
        voice_raise=(ImageButton) findViewById(R.id.voice_raise);
        
        audioManager=(AudioManager) getSystemService(AUDIO_SERVICE);//通过系统服务获得声音管理器
        
        voice_on.setOnClickListener(new VoiceOnClikListener());
        voice_off.setOnClickListener(new VoiceOffOnClikListener());
        voice_vibrate.setOnClickListener(new VoiceVibrateOnClikListener());
        voice_lower.setOnClickListener(new VoicelowerOnClikListener());
        voice_raise.setOnClickListener(new VoiceRaiseOnClikListener());
    }
    private class VoiceOnClikListener implements OnClickListener{

		@Override
		public void onClick(View v) {
			audioManager.setRingerMode(AudioManager.MODE_NORMAL);//设置铃声模式
			Toast.makeText(AudioManagerActivity.this, "手机音量开启!", Toast.LENGTH_SHORT).show();
		}
    }
    private class VoiceOffOnClikListener implements OnClickListener{

		@Override
		public void onClick(View v) {
			audioManager.setRingerMode(AudioManager.RINGER_MODE_SILENT);//设置铃声模式
			Toast.makeText(AudioManagerActivity.this, "手机静音!", Toast.LENGTH_SHORT).show();	
		}
    }
    private class VoiceVibrateOnClikListener implements OnClickListener{

		@Override
		public void onClick(View v) {
			audioManager.setRingerMode(AudioManager.RINGER_MODE_VIBRATE);//设置铃声模式
			Toast.makeText(AudioManagerActivity.this, "手机震动!", Toast.LENGTH_SHORT).show();
		}
    }
    private class VoicelowerOnClikListener implements OnClickListener{

		@Override
		public void onClick(View v) {
			audioManager.adjustVolume(AudioManager.ADJUST_LOWER, AudioManager.FLAG_SHOW_UI);
		}
    }
    private class VoiceRaiseOnClikListener implements OnClickListener{

		@Override
		public void onClick(View v) {
			audioManager.adjustVolume(AudioManager.ADJUST_RAISE, AudioManager.FLAG_SHOW_UI);
		}
    }
}