首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法增加蜂巢和向上音乐流的音量

无法增加蜂巢和向上音乐流的音量
EN

Stack Overflow用户
提问于 2012-02-15 17:40:32
回答 2查看 798关注 0票数 2

我有允许用户在他们的设备上发出可听到警报的代码。在Android2.3和更低版本中,我可以发出警报,即使声音是通过AudioManager.setStreamVolume通过编程增加音量而一直调低的。然而,现在在Android3.x和更新版中,当我尝试这样做时,本机卷调整小部件会出现在屏幕上一段时间,但是当前的卷仍然是零。守则如下:

代码语言:javascript
复制
int currentVolume = audioMgr.getStreamVolume(AudioManager.STREAM_MUSIC);
int maxVolume = audioMgr.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
audioMgr.setStreamMute(AudioManager.STREAM_MUSIC, false);

// If the current volume is not set to the maximum level
if (currentVolume < maxVolume) {
    // Set the current volume to the maximum level
    audioMgr.setStreamVolume(AudioManager.STREAM_MUSIC, maxVolume, AudioManager.ADJUST_RAISE);
}

我的问题is...what已经改变了蜂巢,这使这不再有效?我在setStreamVolume之后设置了一个断点,然后手动运行getStreamVolume。它仍然被设定为零。有什么想法?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-15 17:57:01

因此,setStreamVolume似乎被忽略了,但adjustStreamVolume却没有。我仍然需要在非蜂窝设备上进行更多的测试,但到目前为止,这段代码似乎有效:

代码语言:javascript
复制
while(audioMgr.getStreamVolume(AudioManager.STREAM_MUSIC) < maxVolume) {
    audioMgr.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_RAISE, AudioManager.FLAG_SHOW_UI);
}
票数 0
EN

Stack Overflow用户

发布于 2012-06-16 16:47:06

对于ICS (Android4.0.3),问题仍然存在,但也有一个可行的解决方案。尝试使用以下代码:

代码语言:javascript
复制
// The commented code below works with 2.3, but not with 4.0 (ICS)
//audioMgr.setStreamVolume(AudioManager.STREAM_MUSIC, lvl, 0);

// Use this instead
while(audioMgr.getStreamVolume(AudioManager.STREAM_MUSIC) > lvl) {
    audioMgr.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_LOWER, 0);
}
while(audioMgr.getStreamVolume(AudioManager.STREAM_MUSIC) < lvl) { 
    audioMgr.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_RAISE, 0);
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9298383

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档