문제

경매 웹 사이트에 사운드를 포함 시키려고합니다. 누군가의 입찰마다 소리가 재생되기를 원합니다. 나는 간단한 것을 시도했다 <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를 사용하여 수행했습니다.

다시 한 번 감사드립니다!

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top