我正在使用Chrome的tabCapture API(请参阅https://developer.chrome.com/extensions/tabCapture)从Chrome中当前活动的标签中捕获音频流。这会创建一个填充了数据的MediaStream对象(请参阅https://developer.mozilla.org/en-US/docs/Web/API/Media_Streams_API),例如,我可以从Chrome的控制台中提取此信息:
MediaStream {id: "qih5TZY7OTyNnydtEQ4IwK3FSFiaYhz54TeG", active: true, onactive: null, oninactive: null, onaddtrack: null…}
active: true
id: "qih5TZY7OTyNnydtEQ4IwK3FSFiaYhz54TeG"
onactive: null
onaddtrack: null
onended: function()
oninactive: null
onremovetrack: null
__proto__: MediaStream
如何将此MediaStream操作为流媒体音频网址,我可以将其传递到另一个应用程序/浏览器进行调整,类似于流媒体广播服务?
我可以使用像URL.createObjectUrl(my-media-stream)这样的东西吗?
请参阅https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL
我是否需要转换为使用websocket而不是webRTC?
我可以使用Socket.io吗?
谢谢!
答案 0 :(得分:1)
此处stream
是本地资源。 createObjectURL
只是一个在本地通过URL引用它的黑客。
如果您想将此数据传输到服务器,并且可以在永久URL后面进行广播,那么您就可以开展工作了。
更新:如果要将流发送到另一台计算机,可以与其他计算机建立RTCPeerConnection,并以此方式发送流。