有一个音频流从移动设备发送到服务器。服务器将数据块(由于Web套接字)发送到Web。
问题是。在实况模式下播放此音频所用的内容,还应有可能倒带音频,收听之前的内容,然后再次切换到实况模式。
我考虑了诸如Media Source API这样的可能性,但是IOS上的Safari和Chrome不支持它,不是吗?但是我们需要这种支持。
此外,还有现代浏览器支持的Web Audio API,但是我不确定是否可以在实时模式下收听音频并倒回音频?
有关如何实现的任何想法或指南?
最佳答案
I considered such possibilities as Media Source API but it's not supported by Safari and Chrome on IOS, isn't it? But we need that support.
然后,您将无法使用MediaSource Extensions。谢谢苹果!
And server sends chunks of data (due web-sockets) to the web.
如果没有MediaSource Extensions,则无法使用Web套接字连接中的数据。 (除非是PCM,或者将其解码为PCM,在这种情况下,您可以使用Web Audio API,但这是完全不切实际,效率低下的,不是您应该追求的目标。)
您必须更改流式传输方式。您有几种选择:
最佳选择:HLS
如果切换到HLS,您将获得所需的兼容性,以及时光倒流的功能。这就是你应该做的。
平庸的选择:HTTP渐进式
对于大多数用例来说,这是流式传输的一种好方法,但是没有任何内置方法来处理所需的流式传输。您必须构建它,这不值得花时间,因为您只能使用HLS。
平庸的选择:WebRTC
您可以切换到WebRTC进行流传输,但是大大增加了基础架构成本和复杂性。而且,您仍然需要弄清楚如何处理搜索。您想采用WebRTC路由的唯一原因是,如果您绝对需要最低的延迟。
关于audio - 网络音频直播,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63301039/