Android - 服务,MediaPlayer和setVolume

时间:2013-10-19 07:09:30

标签: java android service android-activity android-mediaplayer

我有一个MediaPlayer服务。从活动我需要更改播放器的音量。有任何想法吗? 附:我非常需要你的帮助 P.P.S.对不起我的英文,请

2 个答案:

答案 0 :(得分:1)

这可能对你有帮助..

protected static void setVolume(int volume) {
        currentVolume = volume;
        {
            if (volume == 1) {
                volume = 2;
            }
            try {
                float vol = ((float) volume / CONSTANT.SYSTEM_MAX_VOLUME);
                mediaPlayer.setVolume(vol, vol);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }

    }

另请参阅this

答案 1 :(得分:1)

如果它是本地Service并且您没有强制它运行到另一个线程,您可以定义一个方法来设置MediaPlayer的卷,绑定到Service来自Activity,并直接调用该方法。请参阅“本地服务示例”here,了解如何绑定到Service。绑定到Service后,您可以将收到的IBinder转发给Service类的实例以使用其方法。

如果它不是本地Service,或者您已在单独的帖子中运行,则需要通过Service / {{1}与Messenger进行通信或使用Handler。在之前的同一链接中有一个“Remote Messenger Service Sample”。