2016-06-11 5 views
-1
<!DOCTYPE html> 
<html> 
<body> 

<img id="myImage" onclick="aud_play_pause()" src="../../images/off.png" alt=""/> 

<audio id="myAudio"> 
</audio> 

<script> 
    function aud_play_pause() 
    { 
     var song = ["../Sesler/3.mp3"]; 
     var myAudio = document.getElementById("myAudio"); 
     var image = document.getElementById('myImage'); 
     myAudio.src = song; 
     if (myAudio.paused) 
     { 
      image.src = "../../images/on.png"; 
      myAudio.play(); 
     } 
     else if(image.src.match("on")) 
     { 
      image.src = "../../images/off.png"; 
      myAudio.pause(); 
     } 
    } 
</script> 

</body> 
</html> 

Привет,Html и Javascript Audio Play & Стоп

Я не мог понять, почему он не работает. Предполагается, что начнется, когда я нажму (он начнется), и предположим, что он будет выходить, когда я снова нажимаю (это не так). Я думаю, что заявление «else if» не работает, но почему?

Спасибо,

H. Caglar

+0

это не Java, это Javascript. Если вы не знаете разницы, то на каждом сайте вам помогут wikis, –

+0

Спасибо за вашу доброту Рейчел. Я буду следовать твоему совету. – Caglar

+0

Я редактировал заголовок. Извините за непонимание. – Caglar

ответ

0

Вы устанавливаете каждый раз Аудиокампании в src, пользователь нажимает на кнопку. Затем он начинается сразу после загрузки. Переместить его вне функции и не использовать массив [...], но только строка:

myAudio.src = "../Sesler/3.mp3"; 

Затем выполняется else (без другого состояния) должно быть достаточно, чтобы различать между игрой и паузой:

if (myAudio.paused) { 
    image.src = "../../images/on.png"; 
    myAudio.play(); 
} else { 
    image.src = "../../images/off.png"; 
    myAudio.pause(); 
} 
+0

Спасибо, что ответили на Joachim. Я сделал то, что вы сказали, но это не сработало. Эффект кнопки работает, но звук даже не воспроизводится. – Caglar

+0

Вы переместили назначение в 'myAudio.src' вне функции? Смотрите рабочий стол https://jsfiddle.net/1Lha66vp/, чтобы увидеть рабочий пример. –

+0

Кажется, я как-то забыл добавить строку, которая находится в кавычках ниже. Спасибо за вашу помощь. Он отлично работает =) "document.getElementById (" myImage "). Onclick = aud_play_pause;" – Caglar

 Смежные вопросы

  • Нет связанных вопросов^_^