Azure Media Player 的自定义静音和取消静音按钮

custom mute and unmute button for Azure Media Player

我正在尝试在 Azure 媒体播放器上自定义我自己的静音和取消静音按钮。 当我为静音和取消静音按钮添加 2 个单独的按钮时,它们工作得很好。但是每当它们结合在一起时。静音正在触发,但取消静音不起作用。 我在这里试图实现的是仅单击一个按钮即可静音和取消静音。

下面是两个按钮的示例代码:

 <h1>Sample: Clear</h1>
    <video id="azuremediaplayer" class="azuremediaplayer amp-default-skin amp-big-play-centered" tabindex="0"></video>
    <button type="button" onclick="playVid()">Play</button>
    <button type="button" onclick="pauseVid()">Pause</button>
    <button type="button" value="mute" id="mute" onclick ="muteVid()">Mute</button>
    <button type="button" value="mute" id="mute" onclick="unMuteVid()">UnMute</button>


    <script>
        function pauseVid(){
            myPlayer.pause();
        }
        function playVid() {
            myPlayer.play();
        }
        function muteVid() {
            myPlayer.muted(true);
        }
        function unMuteVid() {
            myPlayer.muted(false);
        }

    </script>

然后这里是静音和取消静音组合的示例代码:

<video id="azuremediaplayer" class="azuremediaplayer amp-default-skin amp-big-play-centered" tabindex="0"></video>
    <button type="button" onclick="playVid()">Play</button>
    <button type="button" onclick="pauseVid()">Pause</button>
    <button type="button" value="mute" id="mute" onclick ="muteVid()">Mute</button>



    <script>
        function pauseVid(){
            myPlayer.pause();
        }
        function playVid() {
            myPlayer.play();
        }
        function muteVid() {
            if (myPlayer.muted(false)) {
                myPlayer.muted(true);
            } else {
                myPlayer.muted(false);
            }
        }

我很难确定运算符的语法。

您需要更改静音功能如下:

 function muteVid() {
        if (!myPlayer.muted()) {
            myPlayer.muted(true);
        } else {
            myPlayer.muted(false);
        }
    }  

请注意,您应该使用 !myPlayer.muted() 作为 if 条件,而不是 myPlayer.muted(false)。。根据 this 文章,muted 函数有两个重载:muted(boolean)muted()muted(boolean)用于设置播放器的静音状态,returns播放器对象,所以你原来的脚本会先设置播放器取消静音,然后再设置回去静音,永远不会进入else子句,这就是触发静音但取消静音不起作用的原因。