미디어 플레이어 확장을 설치할 필요없이 사운드 재생
-
19-09-2019 - |
문제
경매 웹 사이트에 사운드를 포함 시키려고합니다. 누군가의 입찰마다 소리가 재생되기를 원합니다. 나는 간단한 것을 시도했다 <embed>
주어진 ID로 태그를 붙인 다음 sound.play()
JavaScript를 통해.
소리가 재생되고 있지만 즉, 새로운 사용자는 "웹 사이트를 신뢰하는 경우"미디어 플레이어 확장을 설치하도록 요청받습니다.
이 메시지없이 재생할 수있는 방법이 있습니까? 다음 코드는 페이지에 있습니다.
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");
해결책
사용자에게 플래시를 갖도록 편안하다면 권장합니다. SoundManager2. 백그라운드에서 플래시를 사용하지만 JavaScript를 통해 전적으로 구성되며 매우 사용자 정의 할 수 있습니다.
브라우저에서 완전히 기본적으로하고 싶다면 <audio>
태그, 그러나 최신 브라우저에서만 작동하며 여전히 크로스 브라우저 문제가 있습니다. 이 Ajaxian 기사 수행 방법과 어떤 브라우저가 오디오 형식을 지원하는지에 대한 좋은 개요를 제공합니다.
추신 : 신경 쓰지 않는다면 개인적인 의견 : 먼저 사용자에게 물어 보지 않고 배경 소리 나 음악을 재생하지 마십시오. 자동 재생 절대 절대 절단하지 않고 항상 사용자에게 소리를 멈추거나 음소거 할 수있는 옵션을 제공하십시오.
다른 팁
솔루션은 Sound Manager 2와 잘 작동했습니다. Altough 전체 설치 파일은 2.8MB입니다. 실제로 사용 된 작은 부분만이 실제로 사용된다고 생각합니다.
내가 한 일은 다음 코드를 헤더에 넣는 것입니다.
<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를 사용하여 수행했습니다.
다시 한 번 감사드립니다!