Звук при нажатии на ссылку
Помогите пожалуйста, нужно чтобы при нажатии на ссылку проигрывался звук в wav. Весь интеренет перерыл, неужели такое не возможно без флеш? Есть какой нибудь скрипт?
|
При клики создаете на странице элемент который воспроизведет звуковой файл. Если в 2-х словах, то, как то так.
|
а можно подробней?) как сам скрипт выглядит)
|
<script>
function Sound() {
var embed = document.createElement('EMBED');
embed.src = 'sound.mid';
document.body.appendChild(embed);
}
</script>
<a href="#" onclick="Sound()">Click Me</a>
вроде должно работать, хотя не гарантирую. Вообще в нете инфы об этом дофига. |
сделал, он при нажатии почемуто скачивает)
|
Я использовал audio API, есть небольшие недочеты но исправить их очень легко аудио меню
P.S. работает в браузерах поддерживающих HTML5 audio |
Magneto а как сделать чтобы несколько кнопок и при нажатии на каждую свой звук был? :)
|
У меня сейчас вот такой код, работает одна кнопка, а как сделать на несколько?
<script type="text/javascript">
var audioMenu = new Audio;
audioMenu.src = "wav/pocik.wav";
var pocik = document.getElementById('pocik');
pocik.getElementsByTagName('span')[0].addEventListener('mousedown', function(){audioMenu.play();}, false);
</script>
|
pocik.getElementsByTagName('span')[0].addEventListener('mousedown', function(){audioMenu.play();}, false);
pocik.getElementsByTagName('span')[1].addEventListener('mousedown', function(){audioMenu.play();}, false);
//...
pocik.getElementsByTagName('span')[n].addEventListener('mousedown', function(){audioMenu.play();}, false);
а на разные звуки, разные объекты к примеру создаете:
var firstAudio= new Audio,
secondAudio = new Audio,
thirdAudio = new Audio;
firstAudio.src = "wav/pocik.wav";
secondAudio.src = "wav/pocik2.wav";
thirdAudio.src = "wav/pocik3.wav";
pocik.getElementsByTagName('span')[0].addEventListener('mousedown', function(){firstAudio.play();}, false);
pocik.getElementsByTagName('span')[1].addEventListener('mousedown', function(){secondAudio.play();}, false);
pocik.getElementsByTagName('span')[n].addEventListener('mousedown', function(){thirdAudio.play();}, false);
|
а звук как второй подставлять? это вот самое непонятно, у звука своего id нету здесь даже...
|
Сделал вот так и вообще ничего не работает :(
<script type="text/javascript">
var pocik = new Audio;
povar = new Audio;
pocik.src = "wav/pocik.wav";
povar.src = "wav/povar.wav";
pocik.getElementsByTagName('span')[0].addEventListener('mousedown', function(){pocik.play();}, false);
povar.getElementsByTagName('span')[1].addEventListener('mousedown', function(){povar.play();}, false);
</script>
|
Цитата:
var firstAudio= new Audio,
secondAudio = new Audio,
thirdAudio = new Audio;
firstAudio.src = "wav/pocik.wav";
secondAudio.src = "wav/pocik2.wav";
thirdAudio.src = "wav/pocik3.wav";
firstAudio.load();
secondAudio.load();
thirdAudio.load();
pocik.getElementsByTagName('span')[0].addEventListener('mousedown', function(){firstAudio.play();}, false);
pocik.getElementsByTagName('span')[1].addEventListener('mousedown', function(){secondAudio.play();}, false);
pocik.getElementsByTagName('span')[2].addEventListener('mousedown', function(){thirdAudio.play();}, false);
|
<html><head>
</head><body>
<a href="#" id="cow">Корова</a>
<a href="#" id="dog">Собака</a>
<a href="#" id="pig">Свинья</a>
<script type="text/javascript">
var firstAudio= new Audio();
var secondAudio = new Audio();
var thirdAudio = new Audio();
firstAudio.src = "http://dl.dropbox.com/u/6001712/javascript.ru/audio/cow.ogg";
secondAudio.src = "http://dl.dropbox.com/u/6001712/javascript.ru/audio/dog.ogg";
thirdAudio.src = "http://dl.dropbox.com/u/6001712/javascript.ru/audio/pig.ogg";
firstAudio.load();
secondAudio.load();
thirdAudio.load();
document.getElementsByTagName('a')[0].addEventListener('mousedown', function(){firstAudio.play();}, false);
document.getElementsByTagName('a')[1].addEventListener('mousedown', function(){secondAudio.play();}, false);
document.getElementsByTagName('a')[2].addEventListener('mousedown', function(){thirdAudio.play();}, false);
</script>
</body></html>
|
всё спасибо получилось)
|
Морзе-биппер (может потребовать установленный QuickTime)
|
блин,ну вы даёте звук в wav можно пустить бекгранд нтмл4 пеозволяет это со свистом. для чего лисапеты?:yes:
|
>>блин,ну вы даёте звук в wav можно пустить бекгранд нтмл4 пеозволяет это со свистом. для чего лисапеты?
Это как? Можно полный код? По терминам нчиего не понятно) Если bgsound то он не рабоатет в Хроме и мозиле Кстати Magneto этот скрипт в мозиле и IE не работает( |
ну тогда толко один вариант. x-mplayer2 во все браузеры встроен и прjигрывеает wav во всех браузерах без подзагрузки его
|
а что в моём случае прописывать?)
|
Цитата:
Цитата:
|
нет( не работает в мазиле... работает только в хроме и в опере...
Вот полностью мой код, может где ошибся:
var pocik = new Audio();
slavik = new Audio();
kandi = new Audio();
povar = new Audio();
padarasi = new Audio();
sparta = new Audio();
nikita = new Audio();
maladoi = new Audio();
pocik.src = "ogg/pocik.ogg";
slavik.src = "ogg/slavik.ogg";
kandi.src = "ogg/kandi.ogg";
povar.src = "ogg/povar.ogg";
padarasi.src = "ogg/padarasi.ogg";
sparta.src = "ogg/sparta.ogg";
nikita.src = "ogg/nikita.ogg";
maladoi.src = "ogg/maladoi.ogg";
pocik.load();
slavik.load();
kandi.load();
povar.load();
padarasi.load();
sparta.load();
nikita.load();
maladoi.load();
document.getElementsByTagName('span')[0].addEventListener('mousedown', function(){pocik.play();}, false);
document.getElementsByTagName('span')[1].addEventListener('mousedown', function(){slavik.play();}, false);
document.getElementsByTagName('span')[2].addEventListener('mousedown', function(){kandi.play();}, false);
document.getElementsByTagName('span')[3].addEventListener('mousedown', function(){povar.play();}, false);
document.getElementsByTagName('span')[4].addEventListener('mousedown', function(){padarasi.play();}, false);
document.getElementsByTagName('span')[5].addEventListener('mousedown', function(){sparta.play();}, false);
document.getElementsByTagName('span')[6].addEventListener('mousedown', function(){nikita.play();}, false);
document.getElementsByTagName('span')[7].addEventListener('mousedown', function(){maladoi.play();}, false);
|
Если аудио файлы находятся локально (у пользователя на компьютере) то в мозиле не будут работать. Нужно пробовать с сервера.
|
я с сервера работ1аю
|
С кодом все нормально, только если объявляешь переменные через один вызов var то нужно после кождого объявления переменной ставить запятые а не точку с запятой.
Вот так: var pocik = new Audio(), slavik = new Audio(), kandi = new Audio(), povar = new Audio(), padarasi = new Audio(), sparta = new Audio(), nikita = new Audio(), maladoi = new Audio(); |
Сделал всё равно фаэрфокс молчит(
|
Посмотри в FireFox работает ли пример который я вылаживал здесь? пример , нужно нажать на эту кнопочку ))
![]() |
работает(((
p.s. ))) p.s.s. что же у меня то такое... |
Значит дело в твоем сервере, сервер должен отдавать заголовок ogg/audio, без этого заголовка FF не хочет играть аудио.
|
и что мне делать)
|
нет дело не в сервере) я залил к себе вот эти твои животных и всё нормально в фф работает)))
|
Возможно дело в конвертере аудио, я конвертировал с помощью AIMP v2.61.583 Tools (Converter & Recorder)
|
всё равно не работает :(
|
поставил ссылки на твои файлы всё заработало! что за чуш)
|
и конвертер тут не виноват, именно с того сайта нормально грузит а с моег онет
|
Сбрось один аудиофайл я гдяну на него.
|
нет я твою корову к себе залил на сервер она не стала работать, залили на сторонний заработала)
|
Ясно, значит сервер.
|
а куда файлы можно заливать чтобы не удалили?
|
Попробуй на Дропбоксе инвайт, там файлы не удаляют но если сильная нагрузка будет то будут переодически блокировать аккаунт )).
|
оке)
|
| Часовой пояс GMT +3, время: 08:03. |