我的所有音频文件都来自外部源Google Cloud Storage。并且所有文件都有一个公共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
。
所以我的任务是,是否可以通过这种基础设施,将音频和响应分成一小块字节?
是否有关于流音频的提示或最佳做法?
答案 0 :(得分:1)
最好/最快的事情就是重定向到资源。使用301,302,307或308状态代码和Location
标题。