繁体   English   中英

在javascript中播放加载的文件

[英]Play a loaded file in javascript

我正在尝试从用户加载文件,并希望用javascript播放它。

文件已正确加载,我可以使用FileList API访问它,查看名称,类型等。

我不能做的是播放获得的文件。 我试着这样做

myFile.play();

就像我总是用加载的文件做的那样,但它不起作用。

任何的想法?

如果您只想播放媒体内容,而不是使用FileReader,我建议您使用createObjectURL方法。 它更有效,因为它不会创建包含文件内容的字符串。

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

做就是了 :

audio/video.src=window.URL.createObjectURL(myFile);

在加载另一个媒体文件以避免内存泄漏时,不要忘记撤销您的uri:

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

您也需要FileReader API( API兼容性 ),您的浏览器需要支持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>

你可以在这里阅读更多。

我的答案基于migerh的解决方案

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM