【发布时间】:2020-12-01 18:05:49
【问题描述】:
我有一个 HTML5 音频控件,他的 src 属性是否指向我的中间件,这是一个提供流式 mp3 文件的 express / node 服务器。
在中间件上,我使用res.pipe() 输出mp3 文件。
有一个警告很好用:我无法发送我的授权标头。
所以我想使用 axios 访问我的中间件,它工作正常,但我不知道如何“喂”音频元素。
如果我这样做:
const response = axios.get('/api/stream',{requestHeaders:'stream'});\
myAudio.src = response;
它抛出一个错误,我被阻止了......
感谢您的帮助:)
【问题讨论】:
-
如果你能找到一些其他的身份验证方式会更好,比如通过 URL 中的查询字符串。否则,您将不得不使用存在很多兼容性问题的 MediaSource 扩展。 (对于初学者,您必须将 MP3 音频混合到 MP4 容器中。)然后,您必须编写大量额外代码才能使其工作。唯一的另一种方法是使用 Service Worker,但这与 Safari 上的流式传输存在兼容性问题。它有时也不起作用,例如取决于用户如何刷新页面。
-
同意。事实上,将令牌添加到我的 src url 非常容易......谢谢!
标签: axios html5-audio audio-streaming