2012-02-23 3 views
6

에서 사운드를 재생하는 방법 : 내 자바 스크립트에서 다음나는 다음과 같은 한 자바 스크립트

<audio id="clickdown-wav" src="ClickDown.wav" preload="auto"></audio> 

와, 내가 가진 :

var ClickDown = $('#clickdown-wav')[0]; 

$(document).delegate('a','click',function() { 
    ClickDown.play(); 
}); 

문제는이 (아이 패드에) 너무 물어 아니라고이다 나는 앵커 태그를 누른다. 앵커 태그를 누른 다음 wav 파일을 재생할 때까지 눈에 띄지 않는 지연이 있습니다.

Q : JavaScript에서 사운드를 재생할 수있는 유일한 소스 코드가 있습니까? Clickdown.wav는 1k입니다.

답변

2

iOS에는 사전로드가 없습니다. 이것은 Apple이 의도적으로 수행 했으므로 사용자가 불필요한 대역폭을 사용할 필요가 없었습니다.

+3

항상 그렇지 않습니다. –

+0

해결 방법은 사용자 이벤트 (클릭, 스크롤 등)에서 load()를 트리거하는 것입니다. –

+0

아마도 @ cf_PhillipSenn의 구는 모든 첫 번째 것뿐만 아니라 모든 * 바운드'a click' 이벤트를 암시하는 것으로 보입니다. – msanford

1

첫 번째 사용자 상호 작용으로 클릭이 발생하는 웹 앱 위에 보이지 않는 "버튼"을 배치 할 수 있습니다. 그 상호 작용 후 sound.play();가 작동해야합니다. 이 thread을보세요.

1

클릭 이벤트가 아닌 터치 이벤트를 사용하고 클릭을 "터치 스타트"로 전환하면 지연 시간이 사라집니다.