[英]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.