Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как сделать кнопку включить/выключить со звуком (https://javascript.ru/forum/misc/44105-kak-sdelat-knopku-vklyuchit-vyklyuchit-so-zvukom.html)

Dr.volt 10.12.2014 16:53

Спасибо всем за помощь!!!
 
Спасибо всем за помощь!!! САМЫЙ ЛУЧШИЙ САЙТ ДЛЯ ТУСОВКИ ШКОЛЬНИКОВ!!!!! НИ ОДНОГО НОРМАЛЬНОГО ОТВЕТА ТАК И НЕ УСЛЫШАЛ!! ТОЛЬКО КУЧА ПОНТОВ ШКОЛЬНЫХ!!!!!!!

Erolast 10.12.2014 19:10

Во-первых, закрой клюв, здесь никто тебе ничем не обязан. Во-вторых, не обижай школьников. В-третьих, для кого я, по-твоему, это писал?
Цитата:

Сообщение от Erolast (Сообщение 345002)
На страницу добавь
<audio id="song" loop>
  <!-- Естественно, замени на свой трек. Для кроссбраузерности должно быть два источника: в vorbis (ogg) и в mp3. -->
  <source src="http://upload.wikimedia.org/wikipedia/commons/5/59/C_major_scale.ogg" type="audio/ogg; codecs=vorbis" />
</audio>

А в конец метода start
document.getElementById("song").play();


Dr.volt 16.12.2014 20:04

Большое спасибо за ответ! Но судя по всему вы не поняли вопрос!?!!
Как вашей кнопкой запустить параллельно ещё один скрипт ??
То есть прицепить к ней мой скрипт что бы он запускался и останавливался от вашей кнопки! Большое спасибо!!

Erolast 17.12.2014 10:52

snowStorm = new SnowStorm();

Перенеси в обработчик клика по кнопке.

Alexey_087 24.12.2014 16:02

Думал, что дальше сам разберусь, но ни как не получается.


Есть кнопки:
<button value="sound01.wav" onclick="soundClick(this)">sound01</button>
<button value="sound02.wav" onclick="soundClick(this)">sound02</button>


Есть скрипт:
function soundClick(obj) {
	var soundway = obj.value; //Задаем путь к файлу
	var audio = new Audio(); // Создаём новый элемент Audio
	audio.src = soundway; // Указываем путь к звуку "клика"
	audio.autoplay = true; // Автоматически запускаем
}


При нажатии кнопки начинает проигрываться звуковой файл.

Необходимо добиться того, чтобы если не было ни каких повторных нажатий кнопок файл проигрывался бесконечно.
При нажатии той же кнопки проигрывание останавливалось, а при нажатии другой кнопки первый файл так же останавливался, а второй начинал проигрываться.

Мне кажется, нужно ввести еще одну переменную со значениями true/false:

var butt


и задать цикл:

while (butt=true){
}


т.е получится:

function soundClick(obj) {
	var butt=
	var soundway = obj.value; //Задаем путь к файлу
	var audio = new Audio(); // Создаём новый элемент Audio
	audio.src = soundway; // Указываем путь к звуку "клика"
	while (butt=true){
		audio.autoplay = true; // Автоматически запускаем
	}
}


Вопрос: как задать значение переменной butt , правильно ли я поместил цикл в фунцию?

Или вообще все не правильно, и как тогда все это сделать?

Corazon 04.02.2017 21:49

А можно прикрутить фоновый рисунок к <button>? Я вроде как изменила код, но не работает.
document.getElementById("mybtn").onclick = function()
    {
      var myaudio = document.getElementById("myaudio");
      if(myaudio.paused == true)
      {
        document.getElementById("myaudio").play();
        this.style.background = "url(../img/audio.png)";
      }
      else if (myaudio.paused == false)
      {
        document.getElementById("myaudio").pause();
        this.style.background = "url(../img/no_audio.png)";
      }
    }

рони 04.02.2017 22:13

Corazon,
может скрипт поставить вниз страницы?

Corazon 04.02.2017 22:34

рони, у меня скрипт в отдельном файле и подключен в html перед самым закрывающим body

рони 04.02.2017 22:39

Corazon,
значит вы что-то не договариваите...
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
     #mybtn{
       width: 128px;
       height: 128px;
       background-image: url(http://s7.hostingkartinok.com/uploads/images/2014/02/b33ecdff35171950f356df80a6a7c3dd.png);
     }

  </style>


</head>

<body>
<audio id="myaudio" src="http://boobooka.com/wp-content/uploads/2013/01/moneta.mp3" controls></audio>
<button id="mybtn"></button>
 <script>
document.getElementById("mybtn").onclick = function()
    {
      var myaudio = document.getElementById("myaudio");
      if(myaudio.paused == true)
      {
        myaudio.play();
        this.style.background = "url(http://gbdou88fr.caduk.ru/images/p93_color-violin-clef-illustration-music-note-circle-33645042.jpg)";
      }
      else if (myaudio.paused == false)
      {
        myaudio.pause();
        this.style.background = "url(http://s7.hostingkartinok.com/uploads/images/2014/02/b33ecdff35171950f356df80a6a7c3dd.png)";
      }
    }

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

Corazon 05.02.2017 13:48

рони, спасибо, разобралась.


Часовой пояс GMT +3, время: 15:30.