2017-02-09 21 views
-2

Я пытаюсь создать кнопку переключения для радиопроигрывателя, который играет и останавливает музыку, поскольку я не знаю, как писать код javascript ... Разработчик помогает мне установите Icecast на сервер, но, к сожалению, он очень занят. Все, что у меня есть, это HTML, который автоматически воспроизводит музыку при загрузке страницы.Создайте кнопку запуска/остановки переключения для радиопроигрывателя

Большое спасибо! Вот код:

<!DOCTYPE html> 
<html lang="en"> 
<head> 
<script src="http://radiocambodia.live/sound_manager/script/soundmanager2-jsmin.js"></script> 
<script src="http://radiocambodia.live/Helpers.js"></script> 
<script src="http://radiocambodia.live/WebRadio.js"></script> 
<script> 
     var stream_url = "http://radiocambodia.live:8000/stream.ogg"; 

     var radio = new WebRadio(stream_url); 

     radio.init({ 
      onloaded: function() { 
       console.log("Playing !"); 
       radio.soundObject.play(); 
      }, 

      onplaying: function() { 

      } 
     }); 

    </script> 
</head> 

<body> 
<a href="#"><img src="http://radiocambodia.live/pause.png" width="45" height="45" id="stopbutton" onclick='toggleSound()'; /></a> 
<script type="text/javascript"> 
function toggleSound() { 

    if (radio.soundObject.play){ 
document.getElementById('soundObject.stop').src='stop.png'; 
}else{ 
document.getElementById('soundObject.play').src='play.png'; 
} 

</script> 
</body> 
</html> 

ответ

1

Ваша функция toggleSound отсутствует закрывающую фигурную скобку, вот рабочий раствор

<!DOCTYPE html> 
 
<html lang="en"> 
 
<head> 
 
</head> 
 

 
<body> 
 
<img id="togglePlay" src="http://radiocambodia.live/pause.png" width="45" height="45" id="stopbutton" onclick='toggleSound()'; /> 
 
<script src="http://radiocambodia.live/sound_manager/script/soundmanager2-jsmin.js"></script> 
 
<script src="http://radiocambodia.live/Helpers.js"></script> 
 
<script src="http://radiocambodia.live/WebRadio.js"></script> 
 

 
<script type="text/javascript"> 
 
    var stream_url = "http://radiocambodia.live:8000/stream.ogg"; 
 

 
    var radio = new WebRadio(stream_url); 
 

 
    radio.init({ 
 
     onloaded: function() { 
 
     console.log("Playing !"); 
 
     radio.soundObject.play(); 
 
    }, 
 

 
    onplaying: function() { 
 

 
    } 
 
    }); 
 
    function toggleSound() { 
 
     if (radio.soundObject.paused){ 
 
      radio.soundObject.play(); 
 
      document.getElementById('togglePlay').src='http://radiocambodia.live/pause.png'; 
 
     }else{ 
 
      radio.soundObject.pause();  
 
      document.getElementById('togglePlay').src='http://radiocambodia.live/play.png';   
 
     } 
 
    } 
 

 
</script> 
 
</body> 
 
</html>

radio.soundObject.paused возвращает логическое значение, именно поэтому я использовал его для переключения между воспроизведением и паузой. Независимо от того, какую api/библиотеку вы используете, прочитайте ее документацию, чтобы лучше понять ее.

+0

Большое спасибо azs06, кажется, очень легко, но я так потерялся в кодировании! – snowblood

+0

У вас есть идея, почему это не работает на Safari :( – snowblood

+0

Не знаете, почему не работает на сафари, поток (http://radiocambodia.live:8000/stream.ogg), похоже, не загружается на сафари. – azs06