当前位置: 代码迷 >> Android >> Android-声音服务(AudioManager)
  详细解决方案

Android-声音服务(AudioManager)

热度:43   发布时间:2016-04-28 02:28:49.0
Android--声音服务(AudioManager)

main.xml代码如下:

<?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" >    <ImageButton        android:id="@+id/voiceon"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:src="@drawable/voice_on"/>     <ImageButton        android:id="@+id/voiceoff"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:src="@drawable/voice_off"/>      <ImageButton        android:id="@+id/voicevibrate"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:src="@drawable/voice_vibrate"/>       <ImageButton        android:id="@+id/voicelower"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:src="@drawable/voice_lower"/>        <ImageButton        android:id="@+id/voiceraise"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:src="@drawable/voice_raise"/></LinearLayout>
Activity程序如下:

package org.lxh.demo;import java.io.IOException;import android.app.Activity;import android.content.Context;import android.media.AudioManager;import android.media.MediaPlayer;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.ImageButton;import android.widget.Toast;public class MyAudioManagerDemo extends Activity {	private ImageButton voiceOn = null ;	private ImageButton voiceOff = null ;	private ImageButton voiceVibrate = null ;	private ImageButton voiceLower = null ;	private ImageButton voiceRaise = null ;	private AudioManager audio = null ;	@Override	public void onCreate(Bundle savedInstanceState) {		super.onCreate(savedInstanceState);		super.setContentView(R.layout.main);		this.voiceOn = (ImageButton) super.findViewById(R.id.voiceon) ;		this.voiceOff = (ImageButton) super.findViewById(R.id.voiceoff) ;		this.voiceVibrate = (ImageButton) super.findViewById(R.id.voicevibrate) ;		this.voiceLower = (ImageButton) super.findViewById(R.id.voicelower) ;		this.voiceRaise = (ImageButton) super.findViewById(R.id.voiceraise) ;		this.audio = (AudioManager) super				.getSystemService(Context.AUDIO_SERVICE);		this.voiceOn.setOnClickListener(new VoiceOnOnClickListenerImpl()) ;		this.voiceOff.setOnClickListener(new VoiceOffOnClickListenerImpl()) ;		this.voiceVibrate.setOnClickListener(new VoiceVibrateOnClickListenerImpl()) ;		this.voiceLower.setOnClickListener(new VoiceLowerOnClickListenerImpl()) ;		this.voiceRaise.setOnClickListener(new VoiceRaiseOnClickListenerImpl()) ;		this.playAudio();	}	private void playAudio(){		MediaPlayer media = MediaPlayer.create(this, R.raw.mldn_java);		media.setLooping(true);// 循环播放		try {			media.prepare() ;		} catch (Exception e) {		}		media.start() ;	}	private class VoiceOnOnClickListenerImpl implements OnClickListener {		@Override		public void onClick(View v) {			MyAudioManagerDemo.this.audio.setRingerMode(AudioManager.RINGER_MODE_NORMAL) ;			Toast.makeText(MyAudioManagerDemo.this, "手机音量开启!", Toast.LENGTH_SHORT).show() ;		}			}	private class VoiceOffOnClickListenerImpl implements OnClickListener {		@Override		public void onClick(View v) {			MyAudioManagerDemo.this.audio.setRingerMode(AudioManager.RINGER_MODE_SILENT) ;			Toast.makeText(MyAudioManagerDemo.this, "手机静音!", Toast.LENGTH_SHORT).show() ;		}			}	private class VoiceVibrateOnClickListenerImpl implements OnClickListener {		@Override		public void onClick(View v) {			MyAudioManagerDemo.this.audio.setRingerMode(AudioManager.RINGER_MODE_VIBRATE) ;			Toast.makeText(MyAudioManagerDemo.this, "手机为震动模式!", Toast.LENGTH_SHORT).show() ;		}			}	private class VoiceLowerOnClickListenerImpl implements OnClickListener {		@Override		public void onClick(View v) {			MyAudioManagerDemo.this.audio.adjustVolume(AudioManager.ADJUST_LOWER, 0) ;			Toast.makeText(MyAudioManagerDemo.this, "音量减小!", Toast.LENGTH_SHORT).show() ;		}			}	private class VoiceRaiseOnClickListenerImpl implements OnClickListener {		@Override		public void onClick(View v) {			MyAudioManagerDemo.this.audio.adjustVolume(AudioManager.ADJUST_RAISE, 0) ;			Toast.makeText(MyAudioManagerDemo.this, "音量增加!", Toast.LENGTH_SHORT).show() ;		}			}}


运行效果如下:


  相关解决方案