android音频管理器(AudioManager)

本文详细介绍了Android中的音频管理器(AudioManager)的使用方法,包括如何获取AudioManager实例、调整不同类型的音量、设置铃声模式及静音等操作。

http://blog.youkuaiyun.com/x605940745/article/details/16940097


android音频管理器(AudioManager)

分类: Android从入门到精通 1083人阅读 评论(0) 收藏 举报

AudioManger对象通过getSystemService(Service.AUDIO_SERVICE)获取

AudioManger常用的几个方法void android.media.AudioManager.adjustStreamVolume(int streamType, int direction, int flags):第二个表示调整音乐的大小,第三个参数表示显示调整是的标志 AudioManager.FLAG_SHOW_UI;调整手机类型的声音;第一个参数的几个值

    STREAM_ALARM:手机闹铃的声音

    STREAM_MUSIC:手机音乐的声音

     STREAM_DTMF:DTMF音调的声音

     STREAM_RING:电话铃声的声音

     STREAM_NOTFICATION:系统提示的声音

      STREAM_SYSTEM:系统的声音

      STREAM_VOICE_CALL:语音电话声音

void android.media.AudioManager.setMicrophoneMute(boolean on)设置是否让麦克风设置静音

void android.media.AudioManager.setRingerMode(int ringerMode):设置手机电话铃声的模式;支持的几个属性值

   RINGER_MODE_NORMAL:正常的手机铃声

   RINGER_MODE_SILENT:手机铃声静音

   RING_MODE_VIBATE:手机震动

void android.media.AudioManager.setStreamMute(int streamType, boolean state)将指定的音量类型调整为静音


  1. package com.android.xiong.audiotest;  
  2.   
  3. import android.app.Activity;  
  4. import android.app.Service;  
  5. import android.media.AudioManager;  
  6. import android.media.MediaPlayer;  
  7. import android.os.Bundle;  
  8. import android.view.Menu;  
  9. import android.view.View;  
  10. import android.view.View.OnClickListener;  
  11. import android.widget.Button;  
  12. import android.widget.ToggleButton;  
  13.   
  14. public class MainActivity extends Activity {  
  15.   
  16.     private Button play, up, down;  
  17.     private ToggleButton mute;  
  18.     private AudioManager aManger;  
  19.   
  20.     @Override  
  21.     protected void onCreate(Bundle savedInstanceState) {  
  22.         super.onCreate(savedInstanceState);  
  23.         setContentView(R.layout.activity_main);  
  24.         // 获取系统的音频服务  
  25.         aManger = (AudioManager) getSystemService(Service.AUDIO_SERVICE);  
  26.         // 获取界面的三个按钮和一恶搞ToggleButton  
  27.         play = (Button) findViewById(R.id.play);  
  28.         up = (Button) findViewById(R.id.up);  
  29.         down = (Button) findViewById(R.id.down);  
  30.         mute = (ToggleButton) findViewById(R.id.mute);  
  31.         // 绑定监听事件  
  32.         play.setOnClickListener(new OnClickListener() {  
  33.   
  34.             @Override  
  35.             public void onClick(View v) {  
  36.                 // 初始化MediaPlay对象 ,准备播放音乐  
  37.                 MediaPlayer mPlayer = MediaPlayer.create(MainActivity.this,  
  38.                         R.raw.earth);  
  39.                 // 设置循环播放  
  40.                 mPlayer.setLooping(true);  
  41.                 // 开始播放  
  42.                 mPlayer.start();  
  43.   
  44.             }  
  45.         });  
  46.   
  47.         up.setOnClickListener(new OnClickListener() {  
  48.   
  49.             @Override  
  50.             public void onClick(View v) {  
  51.                 // 指定调节音乐的音频,增大音量,而且显示音量的图形示意  
  52.                 aManger.adjustStreamVolume(AudioManager.STREAM_MUSIC,  
  53.                         AudioManager.ADJUST_RAISE, AudioManager.FLAG_SHOW_UI);  
  54.                   
  55.             }  
  56.         });  
  57.         down.setOnClickListener(new OnClickListener() {  
  58.   
  59.             @Override  
  60.             public void onClick(View v) {  
  61.                 // 指定调节音乐的音频,增大音量,而且音量的图形示意  
  62.                 aManger.adjustStreamVolume(AudioManager.STREAM_MUSIC,  
  63.                         AudioManager.ADJUST_LOWER, AudioManager.FLAG_SHOW_UI);  
  64.   
  65.             }  
  66.         });  
  67.         mute.setOnClickListener(new OnClickListener() {  
  68.               
  69.             @Override  
  70.             public void onClick(View v) {  
  71.                 aManger.setStreamMute(AudioManager.STREAM_MUSIC, true);  
  72.                   
  73.             }  
  74.         }); 












http://blog.sina.com.cn/s/blog_5da93c8f010126pz.html

AudioManager学习

(2012-04-28 15:21:30)
标签:

audiomanager

it

分类:手机世界
AudioManager类位于android.Media 包中,该类提供访问控制音量和钤声模式的操作。

通过getSystemService(Context.AUDIO_SERVICE)方法获得AudioManager实例对象。

AudioManager audiomanage = (AudioManager)context.getSystemService(Context.AUDIO_SERVICE);

audiomanager就是我们定义的控制系统声音的对象。


这里只讲述几个比较常用到的方法:

adjustVolume(int direction, int flags) ——用来控制手机音量大小,当传入的第一个参数为AudioManager.ADJUST_LOWER 时,可将音量调小一个单位,传入AudioManager.ADJUST_RAISE时,则可以将音量调大一个单位。

adjustStreamVolume(int streamType, int direction, intflags)——(以步长)调节手机音量大小
参数1:声音类型,可取为STREAM_VOICE_CALL(通话)、STREAM_SYSTEM(系统声音)、STREAM_RING(铃声)、STREAM_MUSIC(音乐)、STREAM_ALARM(闹铃声)
参数2:调整音量的方向,可取ADJUST_LOWER(降低)、ADJUST_RAISE(升高)、ADJUST_SAME
参数3:可选的标志位

setStreamVolume(int streamType, int index, intflags)——直接设置音量大小


getMode() ——返回当前音频模式,如 NORMAL(普通), RINGTONE(铃声), orIN_CALL(通话)

setMode()——设置声音模式,可取值NORMAL(普通), RINGTONE(铃声), or IN_CALL(通话)

getRingerMode()——返回当前的铃声模式。如RINGER_MODE_NORMAL(普通)、RINGER_MODE_SILENT(静音)、RINGER_MODE_VIBRATE(震动)

setRingerMode(int ringerMode) ——改变铃声模式

getStreamVolume(int streamType)——取得当前手机的音量,最大值为7,最小值为0,当为0时,手机自动将模式调整为“震动模式”。

getStreamMaxVolume(int streamType)——获得当前手机最大铃声。

setStreamMute(int streamType, boolean state

//音量控制,初始化定义
AudioManager mAudioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
//最大音量
int maxVolume =mAudioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
//当前音量
int currentVolume =mAudioManager.getStreamVolume(AudioManager.STREAM_MUSIC);


直接控制音量的多少:

1

2
3
4
5
if (isSilent){
   mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC, 0 , 0 );
} else {
   mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC,tempVolume, 0 ); //tempVolume:音量绝对值
}

以一步步长控制音量的增减,并弹出系统默认音量控制条:

1
2
3
4
5
6
7
8
9
10
//降低音量,调出系统音量控制
if (flag == 0 ){
   mAudioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC,AudioManager.ADJUST_LOWER,
                             AudioManager.FX_FOCUS_NAVIGATION_UP);
}
//增加音量,调出系统音量控制
else if (flag == 1 ){
   mAudioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC,AudioManager.ADJUST_RAISE,
                             AudioManager.FX_FOCUS_NAVIGATION_UP);
}


常用方法:
android audioManager获取音量:

先获取AudioManager实例,
AudioManager mAudioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);

//通话音量

int max = mAudioManager.getStreamMaxVolume(AudioManager.STREAM_VOICE_CALL ); 

int current = mAudioManager.getStreamVolume(AudioManager.STREAM_VOICE_CALL ); 

//系统音量

int max = mAudioManager.getStreamMaxVolume(AudioManager.STREAM_SYSTEM ); 

current = mAudioManager.getStreamVolume(AudioManager.STREAM_SYSTEM ); 

//铃声音量

max = mAudioManager.getStreamMaxVolume( AudioManager.STREAM_RING); 

current = mAudioManager.getStreamVolume(AudioManager.STREAM_RING ); 

//音乐音量

max = mAudioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC ); 

current = mAudioManager.getStreamVolume(AudioManager.STREAM_MUSIC ); 


//提示声音音量

max = mAudioManager.getStreamMaxVolume(AudioManager.STREAM_ALARM ); 

current = mAudioManager.getStreamVolume(AudioManager.STREAM_ALARM ); 


  1.   
  2.     }  
  3.   
  4.     @Override  
  5.     public boolean onCreateOptionsMenu(Menu menu) {  
  6.         // Inflate the menu; this adds items to the action bar if it is present.  
  7.         getMenuInflater().inflate(R.menu.main, menu);  
  8.         return true;  
  9.     }  
  10.   

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值