我想在我的浏览器中编写一个小型mp3播放器。所有mp3文件都在本地保存。
所以,我得用
var filePath = '...';
var fso = new ActiveXObject("Scripting.FileSystemObject");
var file = fso.GetFile(filePath);以及以后的
var oFReader = new FileReader();
oFReader.readAsBinaryString(file);但我得到了一个错误,即对象不支持"readAsBinaryString()“。因此,我认为对象"file“与预期的对象不完全相同。
你能帮帮我吗?如何组合ActiveXObject()和readAsBinaryString()?
发布于 2013-02-20 00:21:57
new ActiveXObject(...)总是返回一个“自动化对象”。这是与DOM对象不同的主机对象类型。
具体来说,readAsBinaryString期望一个类型为水滴的对象作为参数,该对象可能是DOM 文件对象,但不是自动化对象。
然而,在撰写本文时,readAsBinaryString已经从HTML5文件API草案中删除了。
与其尝试读取音频文件,更好的方法是使用HTML5 <audio>标记:
<audio autoplay="autoplay">
<source src="YOUR_FILE_PATH_GOES_HERE" type="audio/wav">
</audio>HTML5音频标签参考:https://developer.mozilla.org/en-US/docs/HTML/Element/audio
请务必检查您的浏览器是否支持所需的音频格式。例如,并非每个浏览器都支持“mp3”。如果您正在讨论ActiveX对象,可能您使用的是Internet,它应该支持版本9+ (来源)中的mp3文件。
https://stackoverflow.com/questions/14969535
复制相似问题