Показать сообщение отдельно
Старый 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 вне форума