2012-03-22 2 views
4

요소의 mouseover 이벤트가 트리거되어 오디오 파일이 재생 될 때 페이지에 많은 요소가있는 게임을 만들었습니다 ( ).HTML5/Jquery - 오디오를 미리로드하는 올바른 방법은 무엇입니까?

그러나

내 질문은, 오디오를 미리로드하는 올바른 방법은 무엇 작업입니다 그것? 그래서 사용자가 요소와 상호 작용하는 즉시 내 오디오가 재생되는지 확인할 수 있습니다.

나는 현재 마우스 오버

$('.circle').mouseover(function() { 
    // retrieve ref from data- attribute 
    var noteIndex = $(this).attr('data-note'); 

    // locate url from the array notes using noteIndex ref 
    var snd = new Audio(notes[noteIndex]); 
    snd.play(); 
} 

나는 오디오 태그 알고 있어요 내 오디오 객체를 initialsing하지만,이 위 내 기술과 다른 방법은 확실 해요.

EDIT : 현재 오디오를로드하는 방법은 http://jsfiddle.net/kA5Bv/1/입니다 (사용했던 예제 오디오 파일의 간격이 1/2 초 정도이므로 처음에는 키가 즉시 재생되지 않습니다.) 페이지 내용이로드되기 전에 미리

감사합니다, 캠

답변

0

무엇 $ (문서) .ready 약은 (함수() {}); 그것은, DOM 부하에 오디오 객체를 초기화합니다.

+0

DOM 준비가 완료되면 문서 준비 함수가 실행되므로 내용이로드되기 전에 실행되지 않습니다. 그러나 해당 기능에서 오디오를 사전로드하는 것이 적절할 수 있습니다. – Spike

+0

mouseover 이벤트가 $ (document) .ready에 추가되었지만 mouseover 이벤트가 요소에 추가되거나 마우스 오버시 요소 이벤트가 트리거 될 때 오디오 파일이로드됨을 의미합니다. 내 생각에 후자는 느린 연결에서 지연을 일으킬 것입니다. – Cam

+0

원 클래스가있는 요소에서 마우스 오버 이벤트가 발생하면 현재로드 중입니다. 그것을 제거하고 그냥 document.ready() 내에 오디오 설정을 넣으면 dom이로드 될 때로드됩니다. – RTulley

관련 문제