настраиваемая кнопка отключения и включения звука для проигрывателя мультимедиа Azure

Я пытаюсь настроить собственную кнопку отключения и включения звука в проигрывателе Azure Media Player. Когда я добавляю 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);
            }
        }

У меня возникли трудности с определением синтаксиса для операторов.


person user3169490    schedule 16.02.2016    source источник


Ответы (1)


Вам нужно изменить функцию отключения звука, как показано ниже:

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

Обратите внимание, что в качестве условия if следует использовать !myPlayer.muted() вместо myPlayer.muted(false). Согласно этой статье, приглушенный имеет две перегрузки: muted(boolean) и muted(). muted(boolean) используется для установки состояния отключения звука проигрывателя и возвращает объект проигрывателя, поэтому ваш исходный скрипт сначала включит звук проигрывателя, а затем вернет его обратно в состояние отключения звука и никогда не будет отключен. в предложение else, это причина того, что отключение звука срабатывает, но включение звука не работает.

person forester123    schedule 16.02.2016
comment
Большое спасибо! Я забыл, что есть 2 перегрузки. Я сам запутался :) спасибо! - person user3169490; 16.02.2016