前面讲过AudioManager可以修改系统的情景模式,其实看它名字,就知道Android系统的音量也是由它管理的.下面介绍几个AudioManager的几个音量调整方面的方法.
首先是得到AudioManager实例:
AudioManager am=(AudioManager)getSystemService(Context.AUDIO_SERVICE);
调整音量方法有两种,一种是渐进式,即像手动按音量键一样,一步一步增加或减少,另一种是直接设置音量值.
首先是步进的方法:
public void adjustStreamVolume (int streamType, int direction, int flags)
am.adjustStreamVolume (AudioManager.STREAM_MUSIC, AudioManager.ADJUST_RAISE, AudioManager.FLAG_SHOW_UI);
解释一下三个参数
第一个streamType是需要调整音量的类型,这里设的是媒体音量,可以是:
STREAM_ALARM 警报
STREAM_MUSIC 音乐回放即媒体音量
STREAM_NOTIFICATION 窗口顶部状态栏Notification,
STREAM_RING 铃声
STREAM_SYSTEM 系统
STREAM_VOICE_CALL 通话
STREAM_DTMF 双音多频,不是很明白什么东西
第二个direction,是调整的方向,增加或减少,可以是:
ADJUST_LOWER 降低音量
ADJUST_RAISE 升高音量
ADJUST_SAME 保持不变,这个主要用于向用户展示当前的音量
第三个flags是一些附加参数,只介绍两个常用的
FLAG_PLAY_SOUND 调整音量时播放声音
FLAG_SHOW_UI 调整时显示音量条,就是按音量键出现的那个
然后是直接设置音量值的方法:
public void setStreamVolume (int streamType, int index, int flags)
am.setStreamVolume(AudioManager.STREAM_MUSIC, am.getStreamMaxVolume(AudioManager.STREAM_MUSIC), AudioManager.FLAG_PLAY_SOUND);
第一个和第三个参数与上面的相同,第二个参数是一个音量的int值,getStreamMaxVolume(int streamType)得到的是该类型音量的最大值,可以根据这个值计算你需要的音量,我这里直接调到最大.
原文:
http://www.pocketdigi.com/20110717/398.html
分享到:
相关推荐
在本文中,我们将深入探讨如何使用AudioManager来修改系统音量。 首先,我们需要获取AudioManager的实例。这通常通过在Activity中调用`getSystemService()`方法完成,传入`Context.AUDIO_SERVICE`作为参数: ```...
在Android平台上,调整系统音量和媒体音量是常见的需求,尤其对于开发音频播放或通信类应用至关重要。本文将深入探讨如何在Android中实现这一功能,以"android设置系统音量、媒体音量Demo"为例,我们将分析源码并...
- `STREAM_SYSTEM`表示系统音量类型,同样地,调用上述两个方法即可获取相应的最大值和当前值。 4. **铃声音量获取**: ```java int maxRingVolume = am.getStreamMaxVolume(AudioManager.STREAM_RING); int ...
这个“android 仿音量旋转按钮”项目就是一个实例,它允许用户通过旋转来调整音量,类似于手机侧面的物理音量键。以下是对这个主题的详细阐述: 首先,我们需要理解Android中的View类和自定义View的概念。在Android...
总结来说,Android系统音量和亮度调节涉及到AudioManager、WindowManager以及UI布局的设计。开发者可以通过系统提供的API进行控制,并结合SeekBar组件提供直观的用户界面。同时,利用ContentProvider可以实现跨应用...
5. **权限申请**:为了能够访问和修改系统音量,需要在AndroidManifest.xml中添加必要的权限,如`<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />`。 6. **生命周期管理**:...
Android 音量控制是 Android 系统中一个非常重要的功能,通过 AudioManager 类可以控制 Android 设备的音量大小,包括铃声、系统音量、音乐音量、提示声音音量等多种音量类型。下面是关于 Android 音量控制的详细...
用户可以通过下拉通知栏或进入设置菜单中的“声音与振动”选项来调整系统音量。调整时,会有一个滑动条供用户选择合适的音量级别。 2. **通话音量**:通话音量特指在进行电话通话时听到的声音大小,包括麦克风输入...
本Demo主要讲解如何将SeekBar与系统的音量控制功能进行同步,实现用户在界面上滑动SeekBar时,系统音量也能相应地实时变化。 首先,我们了解SeekBar的基本用法。SeekBar在XML布局文件中定义如下: ```xml ...
`AudioManager`提供了多种方法来调整不同类型的音量,如媒体音量、铃声音量、闹钟音量和系统音量等。这些音量级别分别对应于`AudioManager.STREAM_MUSIC`、`AudioManager.STREAM_RING`、`AudioManager.STREAM_ALARM`...
在Android开发中,MediaPlayer是一...通过这个示例,你可以了解到如何在Android应用中播放视频、调整音量以及响应系统音量变化。这是一个很好的起点,帮助你进一步探索更复杂的多媒体功能,如音视频同步、播放控制等。
以上就是Android中调整系统亮度、音量、控制GPS和WiFi的基本方法。在实际开发中,可能还需要考虑用户界面的交互设计、权限管理以及性能优化等问题。为了实现上述功能,开发者通常会创建自定义设置页面,并结合布局...
除了在界面上提供一个SeekBar外,还可以创建一个类似于系统音量对话框的弹出窗口,用户点击音量图标时弹出,显示多个音量条供用户选择。这个对话框可以通过`AlertDialog.Builder`创建,包含多个`SeekBar`,并设置...
- 模拟点击系统音量按键通常需要创建一个服务或线程,在适当的时间调用`AudioManager`的方法来模拟音量的增加或减少。项目中的代码可能使用了定时器(Timer)或Handler来实现这一功能。 7. **音量动画与UI反馈** ...
在Android系统中,开发者可以通过编程方式来实现对手机音量的控制,包括设定最大音量限制。这样的功能在很多场景下都非常实用,比如避免小孩子过度调整音量导致听力损伤,或者在公共场合防止突然的高音量打扰他人。...
综上所述,“手机摇一摇功能+音量可根据系统音量加减键调节”的实现涉及硬件传感器的利用、事件监听、音量控制以及用户体验优化等多个方面,是一个集技术与创新于一体的特性。通过myShake这样的项目,开发者可以深入...
通过 `AudioManager`,开发者可以调整音量大小、控制扬声器输出以及处理与音频相关的事件。该类继承自 `java.lang.Object` 并扩展了 Android 的多媒体功能。 #### 二、获取 AudioManager 实例 要使用 `AudioManager...
这个压缩包“安卓摇一摇传感器相关-手机摇一摇功能音量可根据系统音量加减键调节.zip”似乎包含了一个示例项目,它允许用户通过摇晃手机来调整音量,同时可以使用系统音量按键进行微调。接下来,我们将深入探讨这个...
3. **音量控制**:Android系统的音量管理是通过`AudioManager`类实现的。首先,你需要获取一个`AudioManager`实例,然后调用`getStreamVolume()`方法获取当前音量,`setStreamVolume()`方法设置新的音量值。音量流...
在Android平台上,调整手机音量是一项常见的功能,无论是媒体音量、铃声音量还是闹钟音量,都需要通过系统API来实现。本篇将详细讲解如何使用Java代码在Eclipse开发环境中实现手机音量的设置。 首先,Android系统...