Android 用AudioManager类控制音量

上传人:洪易 文档编号:40223622 上传时间:2018-05-24 格式:DOC 页数:7 大小:55KB
返回 下载 相关 举报
Android 用AudioManager类控制音量_第1页
第1页 / 共7页
Android 用AudioManager类控制音量_第2页
第2页 / 共7页
Android 用AudioManager类控制音量_第3页
第3页 / 共7页
Android 用AudioManager类控制音量_第4页
第4页 / 共7页
Android 用AudioManager类控制音量_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《Android 用AudioManager类控制音量》由会员分享,可在线阅读,更多相关《Android 用AudioManager类控制音量(7页珍藏版)》请在金锄头文库上搜索。

1、由麦可网整理,转载请注明出处Android 用 AudioManager 类控制音量 一个好的 Android 应用免不了会自带背景音乐,比如游戏或者一款比较不错的书本阅读器。 一些好的应用在自带音乐的时候会多添加一款小功能即可以帮助用户设置声音大小或者改 变应用的声音模式。那么我们就来认识一下1、认识、认识 AudioManager AudioManager 类位于 android.Media 包中,该类提供访问控制音量和钤声模式的操作。2、AudioManager 主要方法介绍主要方法介绍由于 AudioManager 该类方法过多,这里只讲述几个比较常用到的方法: 方法:adjustVo

2、lume(int direction, int flags) 解释:这个方法用来控制手机音量大小,当传入的第一个参数为 AudioManager.ADJUST_LOWER 时,可将音量调小一个单位,传入 AudioManager.ADJUST_RAISE 时,则可以将音量调大一个单位。 方法:getMode() 解释:返回当前音频模式。 方法:getRingerMode() 解释:返回当前的铃声模式。 方法:getStreamVolume(int streamType) 解释:取得当前手机的音量,最大值为 7,最小值为 0,当为 0 时,手机自动将模式调整为 “震动模式”。 方法:setRin

3、gerMode(int ringerMode) 解释:改变铃声模式 3、程序逻辑实现过程、程序逻辑实现过程界面上设置了一个图片,表示当前铃声状态,一个进度条表示当前音量大小,五个图片按 钮,用来表示增加/减小音量、普通模式、静音模式和震动模式。下面是界面的 XML 布局 代码:Java 代码:代码: XML/HTML 代码 由麦可网整理,转载请注明出处程序类分别为:1、viewHolder 界面上的所有控件和元素都在这里静态声明Java 代码:代码: Java 代码 packagecom.Demo; importandroid.media.AudioManager; importandroid

4、.widget.ImageButton; importandroid.widget.ImageView; importandroid.widget.ProgressBar; publicclassviewHolder publicstaticImageButtondownButton; publicstaticImageButtonupButton; publicstaticImageButtonnormalButton; publicstaticImageButtonmuteButton; publicstaticImageButtonvibrateButton; publicstaticP

5、rogressBarmyProgressBar; publicstaticImageViewmyImageView; publicstaticAudioManageraudiomanage; 2、AudioManagerActivity程序入口处,和主要逻辑代码的处理,程序开头以 (AudioManager) getSystemService(AUDIO_SERVICE); 取得 AudioManager 对象。然后再利用该对象来对铃 声进行调整。声明了一个返回 ImageButton 的方法,用来处理各自按钮点击所执行的不同 事件和对图片的状态进行调整设置。以下把代码提供给大家:Java 代

6、码:代码: Java 代码 packagecom.Demo; importandroid.app.Activity;由麦可网整理,转载请注明出处importandroid.media.AudioManager; importandroid.os.Bundle; importandroid.view.View; importandroid.view.View.OnClickListener; importandroid.widget.ImageButton; importandroid.widget.ImageView; importandroid.widget.ProgressBar; pub

7、licclassAudioManagerActivityextendsActivity /音量变量privateintvolume=0; /声音模式privateintmode; /*Calledwhentheactivityisfirstcreated.*/ Override publicvoidonCreate(BundlesavedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.main); findview(); /通过 getStreamVolume 获得当前音量大小volume=v

8、iewHolder.audiomanage.getStreamVolume(AudioManager.STREAM_ RING); /把当前音量的值设置给进度条viewHolder.myProgressBar.setProgress(volume); /得到当前的声音模式mode=viewHolder.audiomanage.getRingerMode(); setImageState(); viewHolder.downButton=btnListener(viewHolder.downButton); viewHolder.upButton=btnListener(viewHolder.u

9、pButton); viewHolder.muteButton=btnListener(viewHolder.muteButton); viewHolder.normalButton=btnListener(viewHolder.normalButton); viewHolder.vibrateButton=btnListener(viewHolder.vibrateButton); /找到控件voidfindview() viewHolder.downButton=(ImageButton)findViewById(R.id.downButton); viewHolder.upButton=

10、(ImageButton)findViewById(R.id.upButton); viewHolder.muteButton=(ImageButton)findViewById(R.id.muteButton); viewHolder.normalButton=(ImageButton)findViewById(R.id.normalButton); viewHolder.vibrateButton=(ImageButton)findViewById(R.id.vibrateButton); viewHolder.myImageView=(ImageView)findViewById(R.i

11、d.myImage); viewHolder.myProgressBar=(ProgressBar)findViewById(R.id.myProgress); viewHolder.audiomanage=(AudioManager)getSystemService(AUDIO_SERVIC由麦可网整理,转载请注明出处E); /按钮的单击事件ImageButtonbtnListener(ImageButtonb) b.setOnClickListener(newOnClickListener() Override publicvoidonClick(Viewv) /TODOAuto-gene

12、ratedmethodstub switch(v.getId() caseR.id.downButton: viewHolder.audiomanage.adjustVolume(AudioManager.ADJUST_LOWER,0); volume=viewHolder.audiomanage.getStreamVolume(AudioManager.STREAM_ RING);viewHolder.myProgressBar.setProgress(volume); mode=viewHolder.audiomanage.getRingerMode(); setImageState();

13、 break; caseR.id.upButton: viewHolder.audiomanage.adjustVolume(AudioManager.ADJUST_RAISE,0); volume=viewHolder.audiomanage.getStreamVolume(AudioManager.STREAM_ RING);viewHolder.myProgressBar.setProgress(volume); mode=viewHolder.audiomanage.getRingerMode(); setImageState(); break; caseR.id.muteButton

14、: viewHolder.audiomanage.setRingerMode(AudioManager.RINGER_MODE_SIL ENT);volume=viewHolder.audiomanage.getStreamVolume(AudioManager.STREAM_ RING);viewHolder.myProgressBar.setProgress(volume); viewHolder.myImageView.setImageDrawable(getResources().getDrawable(R.dr awable.mute);break; caseR.id.normalB

15、utton: viewHolder.audiomanage.setRingerMode(AudioManager.RINGER_MODE_NO RMAL);volume=viewHolder.audiomanage.getStreamVolume(AudioManager.STREAM_ RING);viewHolder.myProgressBar.setProgress(volume); viewHolder.myImageView.setImageDrawable(getResources().getDrawable(R.dr awable.normal);由麦可网整理,转载请注明出处br

16、eak; caseR.id.vibrateButton: viewHolder.audiomanage.setRingerMode(AudioManager.RINGER_MODE_VI BRATE);volume=viewHolder.audiomanage.getStreamVolume(AudioManager.STREAM_ RING);viewHolder.myProgressBar.setProgress(volume); viewHolder.myImageView.setImageDrawable(getResources().getDrawable(R.dr awable.vib

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 研究报告 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号