2010-09-09 2 views
2

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

Теперь я должен делать это с помощью JavaScript? Будет ли полезен jQuery? Или я должен использовать Flash? Ищете что-то, что широко совместимо с разными браузерами. Полезной будет ссылка на образец кода или библиотеку.

ответ

2

Да, используйте jQuery Media plugin - это именно то, что :)

+0

Это преобразует мои ссылки в медиаплеер/swf-объект ... но я этого не хочу. Он должен быть невидимым, и мне нужно вызвать его с помощью JS. Кажется, у него нет вариантов «перезапуска» трека или чего-нибудь еще? – mpen

1

РИСКОВАННАЯ ... Я не уверен, если это по-прежнему работает в современных браузерах. Но то, что я делал в прошлые годы было просто выписать вставлять тег звукового файла в качестве источника, аля:

document.write('<embed src="some.wav"></embed>'); 

и звук будет воспроизводиться при том, что был добавлен на страницу. Фактически он использовался в системе чата и, похоже, работал нормально. Это, как говорится, я не сомневаюсь, что есть более современные, flash или ajaxy способы сделать это. Но если вы не найдете другого решения, это может сработать для вас.

+0

Даже если это работает ... это не похоже на очень элегантное решение. Где, например, предварительная загрузка? – mpen

+0

Я не говорю о книгах на компакт-диске, просто звуковой сигнал размером в пару сотен байт. Производительность никогда не возникала как проблема с ней. И я сделал это почти 10 лет назад, задолго до jquery, flash 10 и все эти хорошие вещи. Черт, вам повезло, если у пользователя был javascript! – GrandmasterB

+0

На самом деле, с небольшой модификацией ... это может быть путь. Просто вставьте звук где-то на странице именно так, скройте его, выключите автозапуск и повторите, а затем, когда вы хотите воспроизвести его, просто вызовите '.Play()' на объект, а не вставляйте десятки этих вещей. Простой и, похоже, работает. http://www.phon.ucl.ac.uk/home/mark/audio/play.htm – mpen

1

Возможно, вы должны изучить тег <audio> в HTML5, а затем грамотно разложить его на flash/embed. Фора более продвинутые управления аудиосистемой, FF4 беты реализовали всю аудио API, документы здесь:

https://wiki.mozilla.org/Audio_Data_API

Это, вероятно, направление аудио в Интернете будет принимать, но и для более широкой поддержки следует постепенно снижать его решение для flash/embed.

Сегодня, я думаю, FF3.5 +, Safari3 + и Chrome3 + поддерживает тег <audio>, но вы должны дважды проверить кодеки для Safari.

Смежные вопросы