2017-12-27 71 views
0

을 재생하는 방법 :자바 스크립트 : 업데이트 된 오디오 파일을로드하고 내가 하나 개의 오디오 파일을 재생하려고 지금까지 내가 그것을 할 수 있어요

a = new Audio("audio.mp3"); 
a.load(); 
a.play(); 

하지만 내가 뭘하려고 오전을 재생 후 나는 같은 이름의 새로운 오디오 파일을 만들고있다. 이제 버튼 하나를 클릭하고 오디오를 재생하기 위해이 기능을 실행하면 새로운 파일이 아닌 이전 파일 출력이 재생됩니다. 그래서 어떻게 새로운 오디오가 생성 될 수 있도록 같은 이름으로 같은 파일을 다시 업로드 할 수 있습니다.

감사

+0

(또는 시간 제한 초 인상) 오디오 파일 가능성이 캐시는 다시로드 할 때 그래서거야 캐시 된 버전을 사용하십시오. 페이지를 새로 고치거나 강제로 다시 다운로드하십시오. –

답변

1

당신이 브라우저가 두 파일이 동일하다고 가정 같은 이름의 때문에, 때문에 브라우저 캐시의 같은 오디오 파일을 받고 유지하는 이유. 이를 방지하기 위해 임의의 쿼리 문자열을 파일 이름에 추가하여 매번 새 파일이 있다고 브라우저가 생각할 수 있습니다. 그러나 이것의 아래쪽은 사용자가 매번 오디오 파일을 다운로드해야하기 때문에 사용자 로딩 시간이 느려질 수 있습니다. 당신이 업로드 시간에 액세스 할 수있는 경우

a = new Audio("audio.mp3?random=" + new Date().getTime()); 
a.load(); 
a.play(); 

당신은 적어도 업로드 한 번만 파일을 다운로드하려면 브라우저를 강제하는, 임의의 날짜 대신에 그 날짜를 추가 할 수 있습니다.

0

같은 이름으로 다른 파일을로드하는 경우 (동일한 개체에서 다른 이름으로로드하는 경우) 이전 개체를 제거해야합니다! 10 초 동안을 재생 a.mp3

a = new Audio('a.mp3'); 
    a.load(); 
    a.play(); 
    setTimeout(function(){a.pause();a.remove();a.load('a.mp3');a.play();},10000); 

위의 코드로드 : a.remove() 트릭을 할 것입니다. 10 초 후 a.mp3을 다시로드합니다. 그 파일에 내용이 있습니다.

당신은 10 초에 같은 이름을 가진 오디오 파일을 대체 할만큼 빠르게 할 필요가 : D