当前位置: 代码迷 >> Android >> android 统制手机音量的大小 切换声音的模式
  详细解决方案

android 统制手机音量的大小 切换声音的模式

热度:76   发布时间:2016-04-28 05:45:01.0
android 控制手机音量的大小 切换声音的模式

(1)程序说明

   在android API的AudioManager中,提供了调节手机音量的办法。

audioMa.adjustVolume(AudioManager.ADJUST_LOWER, 0);
audioMa.adjustVolume(AudioManager.ADJUST_RAISE, 0);
也可以调节手机声音的模式为震动或者静音

audioMa.setRingerMode(AudioManager.RINGER_MODE_NORMAL);

audioMa.setRingerMode(AudioManager.RINGER_MODE_SILENT);

audioMa.setRingerMode(AudioManager.RINGER_MODE_VIBRATE);

(2)布局文件

<?xml version="1.0" encoding="utf-8"?><AbsoluteLayout  android:id="@+id/layout1"  android:layout_width="fill_parent"  android:layout_height="fill_parent"  android:background="@drawable/white"  xmlns:android="http://schemas.android.com/apk/res/android">  <TextView    android:id="@+id/myText1"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:text="@string/str_text1"    android:textSize="16sp"    android:textColor="@drawable/black"    android:layout_x="20px"    android:layout_y="42px"  >  </TextView>  <ImageView    android:id="@+id/myImage"    android:layout_width="48px"    android:layout_height="48px"    android:layout_x="110px"    android:layout_y="32px"  >  </ImageView>  <TextView    android:id="@+id/myText2"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:text="@string/str_text2"    android:textSize="16sp"    android:textColor="@drawable/black"    android:layout_x="20px"    android:layout_y="102px"  >  </TextView>  <ProgressBar    android:id="@+id/myProgress"    style="?android:attr/progressBarStyleHorizontal"    android:layout_width="160dip"    android:layout_height="wrap_content"    android:max="7"    android:progress="5"    android:layout_x="110px"    android:layout_y="102px"  >  </ProgressBar>  <ImageButton    android:id="@+id/downButton"    android:layout_width="100px"    android:layout_height="100px"    android:layout_x="50px"    android:layout_y="162px"    android:src="@drawable/down"  >  </ImageButton>  <ImageButton    android:id="@+id/upButton"    android:layout_width="100px"    android:layout_height="100px"    android:layout_x="150px"    android:layout_y="162px"    android:src="@drawable/up"  >  </ImageButton>  <ImageButton    android:id="@+id/normalButton"    android:layout_width="60px"    android:layout_height="60px"    android:layout_x="50px"    android:layout_y="272px"    android:src="@drawable/normal"  >  </ImageButton>  <ImageButton    android:id="@+id/muteButton"    android:layout_width="60px"    android:layout_height="60px"    android:layout_x="120px"    android:layout_y="272px"    android:src="@drawable/mute"  >  </ImageButton>  <ImageButton    android:id="@+id/vibrateButton"    android:layout_width="60px"    android:layout_height="60px"    android:layout_x="190px"    android:layout_y="272px"    android:src="@drawable/vibrate"  >  </ImageButton></AbsoluteLayout>

(3)代码:

package com.liuzuyi.soundmode;import android.app.Activity;import android.content.Context;import android.media.AudioManager;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.View.OnClickListener;import android.widget.ImageButton;import android.widget.ImageView;import android.widget.ProgressBar;public class MainActivity extends Activity {	 private ImageView myimage;	 private ImageButton downbutton;	 private ImageButton upbutton;	 private ImageButton normalbutton;	 private ImageButton mutebutton;	 private ImageButton vibratebutton;	 private ProgressBar myprogress;	 private AudioManager audioMa;	 private int volume; 	protected void onCreate(Bundle savedInstanceState) {		super.onCreate(savedInstanceState);		setContentView(R.layout.activity_main);		audioMa =(AudioManager)getSystemService(Context.AUDIO_SERVICE);		myimage = (ImageView)findViewById(R.id.myImage);		myprogress =(ProgressBar)findViewById(R.id.myProgress);				downbutton =(ImageButton)findViewById(R.id.downButton);		upbutton =(ImageButton)findViewById(R.id.upButton);		normalbutton=(ImageButton)findViewById(R.id.normalButton);		mutebutton=(ImageButton)findViewById(R.id.muteButton);		vibratebutton=(ImageButton)findViewById(R.id.vibrateButton);				volume =audioMa.getStreamVolume(AudioManager.STREAM_RING);		myprogress.setProgress(volume);		int mode =audioMa.getRingerMode();		if(mode == AudioManager.RINGER_MODE_NORMAL ){			myimage.setImageDrawable(getResources().getDrawable(R.drawable.normal));					}		else if(mode == AudioManager.RINGER_MODE_SILENT){			myimage.setImageDrawable(getResources().getDrawable(R.drawable.mute));		}		else if(mode == AudioManager.RINGER_MODE_VIBRATE){			myimage.setImageDrawable(getResources().getDrawable(R.drawable.vibrate));		}		downbutton.setOnClickListener( new OnClickListener() {			public void onClick(View v) {				audioMa.adjustVolume(AudioManager.ADJUST_LOWER, 0);				volume = audioMa.getStreamVolume(AudioManager.STREAM_RING);				myprogress.setProgress(volume);				int mode =audioMa.getRingerMode();				if(mode == AudioManager.RINGER_MODE_NORMAL ){					myimage.setImageDrawable(getResources().getDrawable(R.drawable.normal));									}				else if(mode == AudioManager.RINGER_MODE_SILENT){					myimage.setImageDrawable(getResources().getDrawable(R.drawable.mute));				}				else if(mode == AudioManager.RINGER_MODE_VIBRATE){					myimage.setImageDrawable(getResources().getDrawable(R.drawable.vibrate));				}								}		});				upbutton.setOnClickListener( new OnClickListener() {			public void onClick(View v) {				audioMa.adjustVolume(AudioManager.ADJUST_RAISE, 0);				volume = audioMa.getStreamVolume(AudioManager.STREAM_RING);				myprogress.setProgress(volume);				int mode =audioMa.getRingerMode();				if(mode == AudioManager.RINGER_MODE_NORMAL ){					myimage.setImageDrawable(getResources().getDrawable(R.drawable.normal));									}				else if(mode == AudioManager.RINGER_MODE_SILENT){					myimage.setImageDrawable(getResources().getDrawable(R.drawable.mute));				}				else if(mode == AudioManager.RINGER_MODE_VIBRATE){					myimage.setImageDrawable(getResources().getDrawable(R.drawable.vibrate));				}								}		});		normalbutton.setOnClickListener( new OnClickListener() {			public void onClick(View v) {				audioMa.setRingerMode(AudioManager.RINGER_MODE_NORMAL);			    volume = audioMa.getStreamVolume(AudioManager.STREAM_RING);			    myprogress.setProgress(volume);				myimage.setImageDrawable(getResources().getDrawable(R.drawable.normal));			}		});		mutebutton.setOnClickListener( new OnClickListener() {			public void onClick(View v) {				audioMa.setRingerMode(AudioManager.RINGER_MODE_SILENT);			    volume = audioMa.getStreamVolume(AudioManager.STREAM_RING);			    myprogress.setProgress(volume);				myimage.setImageDrawable(getResources().getDrawable(R.drawable.mute));			}		});		vibratebutton.setOnClickListener( new OnClickListener() {			public void onClick(View v) {				audioMa.setRingerMode(AudioManager.RINGER_MODE_VIBRATE);			    volume = audioMa.getStreamVolume(AudioManager.STREAM_RING);			    myprogress.setProgress(volume);				myimage.setImageDrawable(getResources().getDrawable(R.drawable.vibrate));			}		});			}	}


  相关解决方案