2013-05-18 4 views
4

I는 사용자의 파일을로드하려고하고 자바 스크립트와 함께 놀고 싶어 해요에로드 된 파일을 재생합니다.자바 스크립트

이 파일은 제대로 넣었는지, 그리고 나는 FileList API와 함께, 등등의 이름, 유형 및보고 액세스 할 수 있습니다. 내가 할 수없는 것을

얻어진 파일을 재생하는 것입니다. 나는 시도했다

myFile.play(); 

나는 항상로드 된 파일과 비슷하지만 작동하지 않는다.

아이디어가 있으십니까?

답변

1

너도 FileReader API가 필요하고 (API compatibility) 브라우저가 HTML5 audio 태그를 지원해야합니다. 이 같은

뭔가 :

<body> 
     <input type='file' id='fileInput' /> 
     <audio id='player' /> 
     <script type='javascript'> 
      var fileInput = document.getElementById("fileInput"); 
      var freader = new FileReader(); 

      freader.onload = function(e) { 
       document.getElementById('player').src = e.target.result; 
       document.getElementById('player').play(); 
      } 

      fileInput.onchange = function(e) { 
       var files = e.target.files; 
       freader.readAsDataURL(files[0]); 
      } 

     </script> 
    </body> 

당신은 더 많은 것을 위해 here을 읽을 수 있습니다. 당신은 대신을 FileReader를 사용하는 미디어 콘텐츠를 재생하려면 migerh's 솔루션

2

에 따라

내 대답은, 난 당신이 createObjectURL 방법을 사용하는 것이 좋습니다. 이 파일 내용을 포함하는 문자열을 생성하지 않기 때문에 그것은 더 효율적입니다.

https://developer.mozilla.org/fr/docs/DOM/window.URL.createObjectURL

그냥 수행

audio/video.src=window.URL.createObjectURL(myFile); 
다른 미디어 파일을로드하면 메모리 누수 방지하기 위해 때 돈이 't 당신의 URI를 취소하는 것을 잊지

:

window.URL.revokeObjectURL(audio/video.src);