【问题标题】:Android MediaPlayer.setVolume(0,0) is not muting the sound of the videoAndroid MediaPlayer.setVolume(0,0) 没有静音视频的声音
【发布时间】:2013-05-16 12:15:37
【问题描述】:

当音频在后台播放时(在我的同一个应用程序中),我不得不将视频音量静音。 但是当我尝试在 videoview.onPrepared 回调中设置媒体播放器的音量时,它对静音视频没有任何影响。

//muteVolume is a boolean that is true if a background audio is playing, otherwise false

videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener()
            {
                @Override
                public void onPrepared(MediaPlayer mediaPlayer)
                {
                    float volumeValue = ((muteVolume) ? 0.f : 1.f);
                    mediaPlayer.setVolume(volumeValue,volumeValue);
                    videoView.setZOrderOnTop(false);
                    videoView.start();
                }
            });

这适用于三星 GT 平板电脑,但不适用于某些安卓设备。

我无法在我的应用中设置流的音量,因为在我的应用本身中,我需要在后台以最大音量播放音频。

还有一些应用程序(Vplayer)能够在上述代码不起作用的同一设备中静音视频

有没有其他方法可以设置视频的音量,使视频静音并在后台播放另一个音频? 还是我错过了什么?

【问题讨论】:

    标签: android media-player android-videoview


    【解决方案1】:

    我在调用 start 后立即使用了 setVolume(0,0),它对我来说静音了...

    【讨论】:

      【解决方案2】:

      此代码仅在音频已播放且 videoView 已准备好(因为您正在 VideoView 的 onPrepared 侦听器中进行更改)时才有效。但是,从您的问题的语言来看,当在后台调用音频时,您似乎正试图使已经播放的视频静音(也就是说,反过来)。如果是这种情况,请创建一个将音量设置为零的方法,并在音频开始播放时调用该方法。

      PS:既然你说它在三星 GT 平板电脑上工作,我觉得我的观察也可能不正确。您能否更清楚地说明需求何时出现?

      【讨论】:

        猜你喜欢
        • 2011-01-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-07-17
        • 2023-03-31
        • 1970-01-01
        相关资源
        最近更新 更多