|
06.01.2014, 23:02
|
Интересующийся
|
|
Регистрация: 06.01.2014
Сообщений: 22
|
|
Как сделать кнопку включить/выключить со звуком
Уважаемые спецы подскажите пожалуйста!
как сделать кнопку включить/выключить со звуком : нажал кнопку - играет мелодия, цвет кнопки изменился , нажал ту же кнопку - пауза той же мелодии или stop цвет кнопки изначальный .
Вот что есть, к этому нужно приделать выключение звука мелодии или паузу, помогите прошу вас!:
<a href="#" onclick="document.getElementById('audio').play();" style="margin: 121 0 0 860; position: absolute;" title=""><img src="images1.png" onclick="imgchange()" id="myimg" /> </a>
<audio id="audio" src="мелодия.mp3"></audio>
<script type="text/javascript">
var flag=false;
function imgchange(){
if (flag)
document.all.myimg.src = "images1.png";
else
document.all.myimg.src = "images2.png";
flag=!flag;
}
</script>
|
|
07.01.2014, 10:29
|
|
Профессор
|
|
Регистрация: 24.09.2013
Сообщений: 1,436
|
|
Вот как-то так:
<!DOCTYPE HTML>
<html>
<head>
</head>
<body>
<button id="mybtn" type="button" style="background-color: white">Траляля</button>
<audio id="myaudio">
<source src="http://upload.wikimedia.org/wikipedia/commons/5/59/C_major_scale.ogg" type="audio/ogg; codecs=vorbis" />
</audio>
<script>
/*Вешаем обработчик события на кнопку с идентификатором mybtn. Скрипт обязательно должен стоять
после кнопки, т.к. скрипты выполняются сразу при своей загрузке, и если он выполнится раньше
загрузки кнопки - он просто ее не увидит.*/
document.getElementById("mybtn").onclick = function()
{
var myaudio = document.getElementById("myaudio");
if(myaudio.paused == true)
{
document.getElementById("myaudio").play();
this.style.backgroundColor = "Blue"; //Цвет кнопки можно изменить напрямую, без всяких картинок.
this.style.color = "White"; //Заодно меняем цвет текста для удобичитаемости
//this здесь является самой кнопкой, так как функция является дочерней кнопке
}
else if (myaudio.paused == false)
{
document.getElementById("myaudio").pause();
this.style.backgroundColor = "White";
this.style.color = "Black";
}
}
</script>
</body>
</html>
Песочница
|
|
07.01.2014, 13:40
|
Интересующийся
|
|
Регистрация: 06.01.2014
Сообщений: 22
|
|
Большое спасибо Erolast!
Оно!
С Рождеством!
|
|
07.01.2014, 18:02
|
Интересующийся
|
|
Регистрация: 06.01.2014
Сообщений: 22
|
|
Подскажите еще одну штуку:
как зациклить мелодию в этом скрипте, чтобы не останавливался звук?
|
|
07.01.2014, 18:49
|
|
Профессор
|
|
Регистрация: 24.09.2013
Сообщений: 1,436
|
|
Прописать атрибут loop тегу audio.
<!DOCTYPE HTML>
<html>
<head>
</head>
<body>
<button id="mybtn" type="button" style="background-color: white">Траляля</button>
<audio id="myaudio" loop>
<source src="http://upload.wikimedia.org/wikipedia/commons/5/59/C_major_scale.ogg" type="audio/ogg; codecs=vorbis" />
</audio>
<script>
/*Вешаем обработчик события на кнопку с идентификатором mybtn. Скрипт обязательно должен стоять
после кнопки, т.к. скрипты выполняются сразу при своей загрузке, и если он выполнится раньше
загрузки кнопки - он просто ее не увидит.*/
document.getElementById("mybtn").onclick = function()
{
var myaudio = document.getElementById("myaudio");
if(myaudio.paused == true)
{
document.getElementById("myaudio").play();
this.style.backgroundColor = "Blue"; //Цвет кнопки можно изменить напрямую, без всяких картинок.
this.style.color = "White"; //Заодно меняем цвет текста для удобичитаемости
//this здесь является самой кнопкой, так как функция является дочерней кнопке
}
else if (myaudio.paused == false)
{
document.getElementById("myaudio").pause();
this.style.backgroundColor = "White";
this.style.color = "Black";
}
}
</script>
</body>
</html>
|
|
07.01.2014, 18:51
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,103
|
|
|
|
07.01.2014, 19:00
|
Интересующийся
|
|
Регистрация: 06.01.2014
Сообщений: 22
|
|
Я понял понял!
Спасибо большое.
|
|
07.01.2014, 23:02
|
Интересующийся
|
|
Регистрация: 06.01.2014
Сообщений: 22
|
|
Erolast
Подскажите еще одно пожалуйста:
как громкость отрегулировать, элемент volume="" в теге audio почему то не работает?
<audio id="myaudio" volume="70" loop>
хотелось бы чтобы мелодия запускалась с определенной громкостью
|
|
08.01.2014, 07:48
|
|
Профессор
|
|
Регистрация: 24.09.2013
Сообщений: 1,436
|
|
Гугл, гугл всемогущий! Volume регулируется в пределах от 0 до 1.
<!DOCTYPE HTML>
<html>
<head>
</head>
<body>
<button id="mybtn" type="button" style="background-color: white">Траляля</button>
<input type="range" min="0" max="100" value="50" id="volume_range" oninput="document.getElementById('myaudio').volume = this.value/100" onchange="this.oninput()">
<audio id="myaudio" loop>
<source src="http://upload.wikimedia.org/wikipedia/commons/5/59/C_major_scale.ogg" type="audio/ogg; codecs=vorbis" />
</audio>
<script>
/*Вешаем обработчик события на кнопку с идентификатором mybtn. Скрипт обязательно должен стоять
после кнопки, т.к. скрипты выполняются сразу при своей загрузке, и если он выполнится раньше
загрузки кнопки - он просто ее не увидит.*/
document.getElementById("mybtn").onclick = function()
{
var myaudio = document.getElementById("myaudio");
if(myaudio.paused == true)
{
document.getElementById("myaudio").play();
this.style.backgroundColor = "Blue"; //Цвет кнопки можно изменить напрямую, без всяких картинок.
this.style.color = "White"; //Заодно меняем цвет текста для удобичитаемости
//this здесь является самой кнопкой, так как функция является дочерней кнопке
}
else if (myaudio.paused == false)
{
document.getElementById("myaudio").pause();
this.style.backgroundColor = "White";
this.style.color = "Black";
}
}
</script>
</body>
</html>
Последний раз редактировалось Erolast, 08.01.2014 в 07:54.
|
|
08.01.2014, 13:16
|
Интересующийся
|
|
Регистрация: 06.01.2014
Сообщений: 22
|
|
Немного не так, задача такая:
Возможно ли запускать кнопку с определенным уровнем громкости звука, естественно без отображения ползунка с регулировкой!?
не много не уверен что это вообще можно сделать, по этому и спрашиваю спецов! Вы уж простите!=)
|
|
|
|