首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >仅在播放音乐时增加媒体播放器音量

仅在播放音乐时增加媒体播放器音量
EN

Stack Overflow用户
提问于 2018-04-23 13:46:33
回答 2查看 64关注 0票数 0

我有音频,只有在满足某些条件时才会播放。我只想在播放时增加音频音量,一旦播放完毕,音量应设置为默认系统音量。目前,我正在将音量设置为最大音量,在播放音频时可以正常工作,但即使在音频结束后,系统音量也会保持在该级别。这对用户来说是一个非常糟糕的情况,比如说,当有电话打来时,它会使设备变得非常嘈杂。我对实现这一点感到困惑。我还读到过使用audioManager设置音量不是一个好的做法,而且它有副作用。

这是我试图控制音量的东西:

代码语言:javascript
运行
复制
public void resume() {

        AudioManager audioManager = (AudioManager) MobieFitSdkApplication.singleton().getSystemService(Context.AUDIO_SERVICE);
        if (player != null) {
            player.setAudioStreamType(AudioManager.STREAM_MUSIC);
            audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC), 0);
            player.setVolume(audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC), audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC));
        }

    }

那么,如何才能在播放音频时只增加音量呢?

EN

回答 2

Stack Overflow用户

发布于 2018-04-23 15:21:50

-Do首先要做的一件事是获取系统的当前容量:

代码语言:javascript
运行
复制
AudioManager am = (AudioManager) getSystemService(AUDIO_SERVICE);
int volume_level= am.getStreamVolume(AudioManager.STREAM_MUSIC);

在您的音频完成后,或当您在此时释放媒体播放器时,请设置在音频播放之前获得的默认音量。

代码语言:javascript
运行
复制
am.setStreamVolume(AudioManager.STREAM_MUSIC,volume_level,0);
票数 0
EN

Stack Overflow用户

发布于 2018-04-23 21:06:44

通过从上述答案中获得一些帮助,我已经实现了我在问题中提出的要求。

首先,我正在获取原始系统音量,一旦音频开始,我将系统音量设置为70%。

代码语言:javascript
运行
复制
int originalVolume = mAudioManager.getStreamVolume(AudioManager.STREAM_MUSIC);
                    int maxDeviceVolume = mAudioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
                    float percent = 0.7f;
                    int seventyVolume = (int) (maxDeviceVolume*percent);
                    mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC, seventyVolume, 0);

音频结束后,我将设备音量重置为原始音量。

代码语言:javascript
运行
复制
mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC, originalVolume, 0);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49974131

复制
相关文章

相似问题

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