2009-12-10 6 views
0

Я пытаюсь встроить звук на сайт аукциона. Я хочу, чтобы каждый раз, когда кто-то предлагал цену, раздавался звук. Я попробовал простой тег с заданным ID, а затем sound.play() через javascript.воспроизведение звука без необходимости установки расширения медиаплеера

Звук играет, но в IE нового пользователя предлагается установить расширение медиаплеера «если он доверяет сайту».

Есть ли способ заставить его играть без этого сообщения. Следующий код на странице:

В HTML:

<embed src="success.wav" autostart="false" width="0" height="0" id="sound1" enablejavascript="true"> 

В Javascript:

function PlaySound(soundObj) { 

    var sound = document.getElementById(soundObj); 
    sound.Play(); 
} 

и вызов к функции:

PlaySound("sound1"); 

Любые идеи приветствуются!

+0

Отзывы (0) Ваш отзыв будет первым. –

+0

нет, но могу ли я встроить его в спрятанное? Если у вас есть рекомендация для меня? –

+0

Да, возможно скрыть вспышку (установить ширину = 0 height = 0). Но воспроизведение WAV-файлов может быть сложным. Посмотрите пример на http://richapps.de/?p=97 –

ответ

1

Если вам удобно, чтобы у пользователя была вспышка, я рекомендую SoundManager2. Он использует Flash в фоновом режиме, но полностью настраивается с помощью JavaScript, и он очень настраиваемый.

Если вы хотите сделать это полностью из браузера, вы можете использовать тег <audio>, но вы обнаружите, что он работает только в самых новых браузерах, и все еще есть проблемы с несколькими браузерами, которые вы собираетесь натолкнуться. This Ajaxian article дает хороший обзор того, как это сделать и какие браузеры поддерживают аудиоформаты.

P.S. Личное мнение, если вы не возражаете: не играйте в фоновые звуки или музыку, не спрашивая сначала пользователя. Никогда не запускайте автовоспроизведение и всегда предоставляйте пользователю возможность остановить или отключить звук.

+0

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

+0

Ваши опасения действительны. Вероятно, упаковка Flash с помощью JavaScript (как и в SoundManager2) будет лучшим выбором для обратной совместимости. Я не думаю, что SM2 конфликтует с jQuery, но это то, что вам нужно будет оценить. FWIW, сайт SM2 говорит, что с включенным gzip «миниатюрная» версия «столь же светлая, как 6 КБ»: http://www.schillmania.com/projects/soundmanager2/doc/getstarted/ –

1

Хорошо, что решение отлично поработало со звуковым менеджером 2. Хотя весь установочный файл составляет 2,8 МБ, я думаю, что только его небольшая часть фактически используется.

То, что я поставлен следующий код в заголовок:

<script type="text/javascript"> 

soundManager.url = '<?php echo $root_address; ?>/js/soundmanager/swf/'; 
soundManager.debugMode = false; 

soundManager.onload = function() { 
    var mySound = soundManager.createSound({ 
    id: 'aSound', 
    url: '<?php echo $root_address; ?>/success.mp3' 
    }); 
} 
</script> 

И заменил призвание к функции воспроизведения звука с этим кодом:

soundManager.play('aSound'); 

я использовал самый простой API, чтобы сделать Это.

Еще раз спасибо!

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

  • Нет связанных вопросов^_^