이벤트 및 오디오 재생 간의 대기 시간을 최소화하면서 iPad의 모바일 사파리에서 실행되는 웹 앱에서 사용자 입력에 대한 응답으로 짧은 (1 초 미만) 오디오 파일을 재생하고 싶습니다. 페이지 재로드 사이에서 재생이 여러 번 트리거 될 수 있으므로 오디오 파일을 캐시하고 싶습니다.모바일 사파리에서 HTML5 오디오 객체 재사용
다음 첫 번째 클릭에 파일을 재생하지만없는 것보다는시 이후 발생합니다
var audio = new Audio("ack.mp3");
$("#button").click(function(e) {
e.preventDefault();
audio.play();
}
나는 내가 같은에서 두 개의 플레이 백을받을 수있는 파일을 다시로드 이벤트 "종료"에 이벤트 리스너를 추가하는 경우 객체 후 침묵 :
var audio = new Audio("ack.mp3");
audio.addEventListener('ended', function() {
audio.currentTime=0;
}, false);
$("#button").click(function(e) {
e.preventDefault();
audio.play();
}
: 내가 수동으로 다음과 같이 0으로 currentTime을 속성을 설정하면
var audio = new Audio("ack.mp3");
audio.addEventListener('ended', function() {
audio.load();
}, false);
$("#button").click(function(e) {
e.preventDefault();
audio.play();
}
나는 오류 콘솔에서 다음과 같은 오류 얻을
:이 작업을하는 방법에 대한
INDEX_SIZE_ERR: DOM Exception 1: Index or size was negative, or greater than the allowed value.
어떤 아이디어? 미리 감사드립니다.
을하지만 연극 사이에 2 초 지연을해야 할 것 같다. 그렇지 않으면 후속 재생이 발생하지 않습니다. – Crashalot
이것은 나에게도 도움이되지 않습니다. iOS 7에서도 (2011 년 2 월 마지막 답장). –