imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Веб-мастеру > Веб-программирование
Опции темы
Старый 26.03.2007, 12:23     # 1
3bepek
Newbie
 
Регистрация: 24.11.2006
Адрес: Москва, Пресня
Пол: Male
Сообщения: 26

3bepek Путь к славе только начался
как вставить звук в тег <a> на события onmuseover?

Собственно сабж.
Есть ссылка, при наведении на которую должен играть звук (mp3-шка маленькая, типа щелчок). Как это можно реализовать?
Помогите пожалуйста!!
3bepek вне форума  
Старый 26.03.2007, 12:24     # 2
Псих
::VIP::
Guinness Liker
Понаехало тут
 
Аватар для Псих
 
Регистрация: 26.01.2003
Адрес: В нейроне
Пол: Male
Сообщения: 2 848

Псих СуперБогПсих СуперБог
Псих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБог
к сожалению сейчас проекспериментировать не могу.
Попробуй так
Код:
onclick="document.bgsound='music.mid'"
__________________
меня не вылечат
Псих вне форума  
Старый 28.03.2007, 23:22     # 3
mrdoggy
Newbie
 
Регистрация: 27.12.2004
Сообщения: 16

mrdoggy Путь к славе только начался
на флеше если только..
mrdoggy вне форума  
Старый 29.03.2007, 06:46     # 4
CPUser
Junior Member
 
Аватар для CPUser
 
Регистрация: 26.09.2004
Адрес: в Интернете
Сообщения: 138

CPUser Известность не заставит себя ждать
Цитата:
Сообщение от 3bepek Посмотреть сообщение
Собственно сабж.
Есть ссылка, при наведении на которую должен играть звук (mp3-шка маленькая, типа щелчок). Как это можно реализовать?
Помогите пожалуйста!!
Для IE есть такое решение:

1. создаем ни на что не ссылающийся bgsound, задаем ему определенный идентификатор:
Код:
<bgsound id=sound1 src=''>
2. т.к. звук должен воспроизводиться при наведении мыши, используем событие onmouseover для передачи элементу звукового проигрывателя необходимого параметра:
Код:
<a href="#" onmouseover="document.all['sound1'].src='1.mp3'">
P.S. В других браузерах скрипт не обязан работать - к примеру, Opera не поддерживает наверняка - только что пробовал...
CPUser вне форума  
Старый 16.04.2007, 13:31     # 5
3bepek
Newbie
 
Регистрация: 24.11.2006
Адрес: Москва, Пресня
Пол: Male
Сообщения: 26

3bepek Путь к славе только начался
да, спасибо. работает в ИЕ с БГ саундом.

жалко, что тока в ИЕ, но заказчика это устроило.
еще жалко, что код терь не валидный.. Но это так... выживу))
3bepek вне форума  
Старый 25.04.2007, 18:50     # 6
Hubbitus
мод
IMHO Кодер-200(6,7,8)
 
Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734

Hubbitus Бог с наворотамиHubbitus Бог с наворотами
Hubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотами
Чтобы кроссбраузерно, нужно еще и <embed name="sound"...> использовать, для НЕ ИЕ, которые <bgsound ...> не понимают.
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям!

Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru
Pahan-Hubbitus.
Hubbitus вне форума  
Старый 26.04.2007, 00:40     # 7
CPUser
Junior Member
 
Аватар для CPUser
 
Регистрация: 26.09.2004
Адрес: в Интернете
Сообщения: 138

CPUser Известность не заставит себя ждать
Цитата:
Сообщение от Hubbitus Посмотреть сообщение
Чтобы кроссбраузерно, нужно еще и <embed name="sound"...> использовать, для НЕ ИЕ, которые <bgsound ...> не понимают.
Насколько понимаю, Вы имеете в виду нечто подобное:

Код:
<embed id=sound1 src='filename.mp3' autostart=false hidden=true>

<a href="#" onmouseover="document.all['sound1'].play()" onmouseout="document.all['sound1'].stop()">Текст ссылки</a>
В результате теоретически код должен работать в любом браузере, где имеется соответствующий плагин (кстати, необходимость подключения внешнего плагина просто зверски увеличивает необходимое на проигрывание аудиофайла количество системных ресурсов - даже не самый слабый компьютер "подвиснет" на секунду).
Практически с ИЕ проблем, опять же не возникает, но вот та же Opera, к примеру, при своих стандартных настройках mp3-файл воспроизводить отказывается, да еще и форму embed не прячет (скриншот в аттаче).
Изображения
Тип файла: png plugin.png (14.3 Кбайт, 7 просмотров - Кто скачивал? )
CPUser вне форума  
Старый 02.05.2007, 23:39     # 8
Hubbitus
мод
IMHO Кодер-200(6,7,8)
 
Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734

Hubbitus Бог с наворотамиHubbitus Бог с наворотами
Hubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотами
Ну насчёт скорости тут уж действительно ничего не поделаешь - внешний плагин он и есть внешний. Ну а что делать, если для Браузер есть браузер, а звук играют другие приложения - тут всеравног должен быть этот вызов. Когда закешируется, все играется вполне приемлемо.

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

Вот насчет прячет, тут сложнее. Прячет-то прячет, только вот при display: none у меня она почему-то отказалась играть звук вообще... Не знаю с чем это связано, не исключаю что с кривизной моих рук. Но, с дургой стороны, особенно я мучаться и не стал - ну можно же сделать 1на1 пиксел (а может и 0на0 получится, надо попробовать) его размером, и разместить в нужном месте страницы, чтобы это было не заметно. Не вижу в этом проблемы.
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям!

Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru
Pahan-Hubbitus.
Hubbitus вне форума  
Старый 04.05.2007, 09:05     # 9
CPUser
Junior Member
 
Аватар для CPUser
 
Регистрация: 26.09.2004
Адрес: в Интернете
Сообщения: 138

CPUser Известность не заставит себя ждать
Цитата:
Сообщение от Hubbitus Посмотреть сообщение
Ну насчёт скорости тут уж действительно ничего не поделаешь - внешний плагин он и есть внешний. Ну а что делать, если для Браузер есть браузер, а звук играют другие приложения - тут всеравног должен быть этот вызов. Когда закешируется, все играется вполне приемлемо.
Не забывайте, что с IE подобных проблем не возникает, mp3 декодируется мгновенно - видимо браузер проигрывает звук сам, используя соотв. декодер. Opera, к сожалению, способна самостоятельно декодировать лишь midi и wav-форматы.


Цитата:
Сообщение от Hubbitus Посмотреть сообщение
Да, при стандартных настройках Опера помоему и не может ничего воспроизводить. Думаю что это нормально что для использования плагинов где-либо их нужно установить, не находите? С другой стороны, те кто пользуется Оперой, и хотят слушать в ней встроенные звуки (и возможно видео) имеют уже настроенные подобные плагины в ней.
Пользуюсь Оперой лично уже не первый год, но с этой проблемой ни разу не встречался, ибо сам тег embed, как правило, применяется для интеграции flash, изредка видео (хотя много чаще в виде flash-video - опять же интеграция flash). А звук обычно представляется в midi- или wav-форматах - форматах, декодируемых напрямую браузером (или тот же flash-stream ).

Насколько понимаю, желательно было бы написать такой код, который мог бы работать у ЛЮБОГО клиента, все зависимости от браузера при стандартных (или общепринятых) настройках.

Цитата:
Сообщение от Hubbitus Посмотреть сообщение
Вот насчет прячет, тут сложнее. Прячет-то прячет, только вот при display: none у меня она почему-то отказалась играть звук вообще... Не знаю с чем это связано, не исключаю что с кривизной моих рук. Но, с дургой стороны, особенно я мучаться и не стал - ну можно же сделать 1на1 пиксел (а может и 0на0 получится, надо попробовать) его размером, и разместить в нужном месте страницы, чтобы это было не заметно. Не вижу в этом проблемы.
0x0 работает, соответствуя 1x1, причем оба практически оказываются больше (видимо, особенность отображения) со style=display:none истинно не работает - выход очевиден.


Единственное решение (кроме flash), на данный момент:

1. Так как звук недолгий, то не будет очень много весить и в wav-формате (для наименьшего размера можно частоту дискретизации и число каналов уменьшить - до 8KHz/mono): конвертируем mp3-файл в wav. Wav, в свою очередь, поддерживается напрямую, без плагинов и IE, и Opera.

2. В самый конец описания страницы (так, чтобы дизайн не "съехал") помещаем пустой блок с идентификатором:
Код:
<span id=s1 style=""></span>
3. Пишем код вызова звука:
Код:
<a href="#" onmouseover="document.all['s1'].innerHTML='<embed src=\'filename.wav\' autostart=true width=0 height=0>'" onmouseout="document.all['s1'].innerHTML=''">Текст ссылки</a>
Данный код проверен и работает!
CPUser вне форума  


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 18:39.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.