Создание 2 или более коротких звуков при загрузке веб-страницы

У меня есть 6 звуковых файлов (1.wav 2.wav и т.д.), из которых 3 разных нужно слышать каждый раз, когда открывается веб-страница. Номера выбираются случайным образом. Я пробовал несколько "вложений", но только последний выбранный звук получается. Я также пробовал javascript-подпрограммы, которые скриптили атрибут bgsound, однако я не смог создать более одного звука за раз. Звуки должны воспроизводиться либо автоматически на странице, либо они могут быть вызваны щелчком по кнопке или ссылке, однако для трех звуков допускается только один клик. Есть ли другой способ сделать это? предложения очень приветствуются.

Ответ 1

Простая Flash сделает трюк лучше, чем что-либо еще. Однако, пожалуйста, подумайте, что если вы не разработаете свою страницу для приложения Intranet, и эта функция была специально запрошена пользователями, она, скорее всего, будет идти против лучших практик юзабилити для Интернета. Большинство пользователей считают страницы, которые производят звуки, очень отвлекающими, и если звук создается при загрузке страницы, скорее всего, он не сможет отключить его. Если вы хотите встроить некоторый звук на свою страницу, вы можете разрешить пользователю включать его явно.

Ответ 2

Я бы использовал Flash, если я пытаюсь добавить звук в веб-страницу, вы можете вставлять флеш-документ без ширины или высоты, чтобы он был невидим, но все равно воспроизводит шум.

Ответ 3

Отметьте Sound Manager 2 невидимую флеш-ролик, которую вы можете использовать для воспроизведения звуков. Он позволяет загружать и воспроизводить несколько звуков.

Чтобы выполнить то, что вы хотите выполнить, я буду перекодировать wav файлы в виде mp3 файлов (чтобы они загружались быстрее, и Sound Manager мог их воспроизводить). Затем используйте javascript, чтобы заставить звукового менеджера создавать звуки и воспроизводить их в случайном порядке. Вы можете прослушать onfinish событие каждого звука, чтобы начать воспроизведение следующего звука.

Ответ 4

У меня есть хорошая идея: НЕ!

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

Ответ 5

Если вы не против использования фреймворка JavaScript для воспроизведения звукового скрипта, он предоставляет API для воспроизведения звуков.

http://github.com/madrobby/scriptaculous/wikis/sound

Ответ 6

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

Ответ 7

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

1_2_3, 1_2_3, 1_2_5, 1_2_6 
1_3_4, 1_3_5, 1_3_6
1_4_5, 1_4_6
2_3_4, 2_3_5, 2_3_6, 
2_4_5, 2_4_6,
2_5_6
3_4_5, 3_4_6,
3_5_6,
4_5_6

(к счастью, не слишком много комбинаций)

а затем до тех пор, пока вы выполните:

   $n = [ randomnumber , randomnumber , randomnumber ]; 
   $n = sort $n; 
   file = "$n[0]_$n[1]_$n[2].wav"   

который должен заставить его работать.

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