我正在尝试让我的 node.js 服务器为 HTML5 音频标签提供音频文件。目前,我正在通过 express staticProvider 引用音频文件,但这将允许声音播放一次,然后再也不会播放。
从我能够收集到的内容中,为了使声音在搜索或循环中正常工作,我需要在请求我的音频文件时提供“Content-Range”标头。我非常怀疑 express staticProvider 是否正在为我执行此操作,因此我似乎需要使用自定义代码来提供文件。不幸的是,我对 node.js 还很陌生,像提供文件这样的东西仍然有点超出我的能力。任何人都可以就如何为我的音频文件提供适当的元数据提供一些建议吗?
[编辑](删除旧的服务器代码,因为它不会对任何人有任何好处!)
抱歉,我通常不会问这么广泛的问题,但我真的不知道从哪里开始。有什么建议么?
[解决方案]
因此,解决方案似乎只是使用更新的软件。我尝试使用 express 而不是内置的 connect HTTP 中间件,因为我认为 connect 没有正确地提供静态文件服务。原来,我只是在查看更新版本的 connect 的文档,而 node 附带的版本有点旧。一旦我更新了我的连接库(我只是使用 npm 来安装最新的,对于那些好奇的人),下面的效果很好:
var connect = require('connect');
var server = connect.createServer(
// If your server errors on this line, saying it doesn't know what
// "static" is you need to get the latest connect!
connect.static(__dirname + '/public')
);
server.listen(PORT);