我所有的音频文件都来自一个外部来源,Google Cloud Storage。并且所有文件都具有公共URL,无需授权令牌即可访问该URL。
示例网址:https://storage.googleapis.com/bucket/randomId.mp3
我目前将音频流式传输到客户端的方法是获取二进制文件并使用sendSeekable进行响应
示例代码
const url = 'https://storage.googleapis.com/bucket/randomId.mp3';
request({
url: track.file.location,
encoding: null,
}, (error, response, body) => {
res.setHeader('Cache-Control', 'no-cache');
res.sendSeekable(body);
});
但我看到SoundCloud做的是,他们会请求一小块新的base64音频,所以无论用户从哪里开始播放音乐,它都会做出非常快的响应,就像有自己的方式进行流媒体seekable一样。
所以我的目标是,做这样的基础设施,用一小块字节来拆分音频和响应,是可行的吗?
对于音频流传输有什么建议或最佳实践吗?
发布于 2018-01-21 12:41:46
最好/最快的做法是简单地重定向到资源。使用301、302、307或308状态代码和Location标头。
https://stackoverflow.com/questions/48357561
复制相似问题