用javascript播放加载的文件
我正在尝试从用户加载一个文件,并希望使用javascript来播放它 文件加载正确,我可以通过用javascript播放加载的文件,javascript,browser,audio,filelist,Javascript,Browser,Audio,Filelist,我正在尝试从用户加载一个文件,并希望使用javascript来播放它 文件加载正确,我可以通过FileListAPI查看名称、类型等来访问它 我不能做的是播放获得的文件。我试着去做 myFile.play(); 就像我总是处理加载的文件一样,但它不工作 有什么想法吗?你也需要FileReaderAPI(),你的浏览器需要支持HTML5audio标签 大概是这样的: <body> <input type='file' id='fileInput' />
FileList
API查看名称、类型等来访问它
我不能做的是播放获得的文件。我试着去做
myFile.play();
就像我总是处理加载的文件一样,但它不工作
有什么想法吗?你也需要
FileReader
API(),你的浏览器需要支持HTML5audio
标签
大概是这样的:
<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>
更多
我的答案基于解决方案如果您只想播放媒体内容,而不是使用FileReader,我建议您使用createObjectURL方法。因为它不创建包含文件内容的字符串,所以效率更高
只要做:
audio/video.src=window.URL.createObjectURL(myFile);
加载另一个媒体文件时,不要忘记撤消uri,以避免内存泄漏:
window.URL.revokeObjectURL(audio/video.src);