2012-02-18 2 views
4

오디오로드가 끝나면 실행되는로드 이벤트가 있습니까? 나는 오디오 요소를 이렇게 만들었습니다.HTML5 오디오로드 이벤트?

var myAudio = new Audio("mySound.mp3"); 
myAudio.load(); 

그렇듯이 eventListener를 추가하려고 시도했지만 실행되지 않는 것 같습니다.

myAudio.addEventListener("load",soundLoaded,false); 
+0

[buzz] (http://buzz.jaysalvat.com/)의 소스를 살펴 보셨습니까? – devdigital

+0

재미있는 도서관. 내 관심을 가져 주셔서 감사합니다. 문서를 보면 "canPlayThrough"가 필요한 것 같습니다. 감사 – user781657

답변

3

오디오 태그 구현은 브라우저에 따라 크게 달라집니다. 플래시 나 HTML5의 거룩한 전쟁에 대한 스티브 잡스의 연설 이후에 과장된 비디오 태그보다 비디오 태그가 적다는 말은, 사파리가 지원하는 것이 가장 이상하지 않다. 그리고 비디오 태그 (이벤트 핸들러의 경우)가 오디오 태그에서 작동하지 않는 것은 사실이지만 상태가 여전히 올바른 것은 무엇입니까? 예를 들어 :

var a = new Audio(); 
  • a.networkState 및 a.readyState - 쉽게로드에 대한 아이디어를 얻을 수 타이머에이 매 초마다 확인하고 진행을 연주하여.

다른 흥미로운 속성 :

  • 추구 - 진정한 UA 현재
  • 시크하고자하는 경우 - 추구 할 수있는에 TimeRange 개체를.
  • plays - TimeRange 재생 된 UA는 무엇입니까?
  • 일시 중지 - 재생이 일시 중지 된 경우 True입니다.
  • ended - 재생이 끝나면 True입니다.
  • currentTime - 재생 위치를 초 단위로 반환하거나 설정합니다.
  • 기간

    canPlayType (유형)를 사용하여 잊지 마세요 - "아마"반품 및 "어쩌면"

업데이트 : SoundManager2보고 고려 - http://www.schillmania.com/projects/soundmanager2/

10

그것은 당신이 원하는 같은 소리를 "canplaythrough"이벤트. 이것은 브라우저가 멈추지 않고 전체 오디오 파일을 재생할 수 있다고 생각할 때 발생합니다.

시도 :

  1. 에 Loadstart
  2. durationchange
  3. loadedmetadata
  4. loadeddata
  5. 을 :

    myAudio.addEventListener('canplaythrough', soundLoaded, false); 
    

    오디오 파일을로드 할 때이 순서에 화재 7 이벤트가 있습니다

  6. 진행
  7. canplay
  8. canplaythrough

이 9 일 전에 Internet Explorer 버전에서 지원되지 않습니다 유의하시기 바랍니다.

관련 문제