在iOS Safari上,我无法弄清楚用什么标题来将mp3文件作为http响应发送到节点js中。我知道代码是没有必要的,因为我可以让它说“直播”并播放它的一部分,然后才随机切回到开头。在其他浏览器上,它工作正常,所以我知道它与iOS Safari有关。我想要的只是寻找条和持续时间。
我也可以从我下载mp3的地方复制标题,但为此我必须创建另一个http请求,仅针对使用method: "HEAD"
的标题,我想避免如果可能的话。
这是node.js代码的一部分,即使它没有被使用:
res.writeHead(endres.statusCode,{"Content-Type":"audio/mpeg","Content-Transfer-Encoding":"binary","Content-Range":"bytes 0-"+Buffer.byteLength(data)+"/"+Buffer.byteLength(data),"Content-Length":Buffer.byteLength(data),"Accept-Ranges":"bytes"});
以下是上述代码中的标题:
Content-Type: audio/mpeg
Content-Transfer-Encoding: binary
Content-Range: bytes 0-[length of mp3 in bytes]/[length of mp3 in bytes]
Content-Length: [length of MP3 in bytes]
Accept-Ranges: bytes
我正在使用iOS 11.3 任何帮助表示赞赏!