Javascript 如果我们需要为stream创建URL,为什么我们可以为WebRTC将video.src设置为stream?
在Google的应用程序中,它有以下示例代码 我有两个问题:Javascript 如果我们需要为stream创建URL,为什么我们可以为WebRTC将video.src设置为stream?,javascript,webrtc,Javascript,Webrtc,在Google的应用程序中,它有以下示例代码 我有两个问题: 为什么需要将window.stream设置为stream?)什么意思 “可用于控制台的流”是指?) 如果我们需要为流创建URL,为什么我们可以设置video.src 要流式传输哪一个应该是水滴 谢谢 function successCallback(stream) { window.stream = stream; // stream available to console if (window.URL) { vid
function successCallback(stream) {
window.stream = stream; // stream available to console
if (window.URL) {
video.src = window.URL.createObjectURL(stream);
} else {
video.src = stream;
}
}
旧的和错误的代码
video.src=stream
错误。它应该是video.srcObject=stream
。它永远不会运行,因为现在所有的浏览器都支持
取而代之的是,尽可能使用(在Chrome和Firefox中均受支持),以便更好地处理浏览器的使用寿命:
if (typeof video.srcObject == "object") {
video.srcObject = stream;
} else {
video.src = URL.createObjectURL(stream);
}
或者使用,不用担心:
video.srcObject = stream;
哦,还有window.stream
只是一个全局变量。可能由示例作者用于调试
2013对于WebRTC代码来说是旧的。我建议改为看官方版本。它设置了一个名为stream的全局可访问变量-你可以称它为
fred
-这没关系-它只是用于全局访问谢谢!!第二个问题呢?你能告诉我这个问题吗?如果我有答案,我会发布答案-这就是为什么我只发布一条评论,因为我只知道你两个问题中简单的一半:p第二个问题是跨浏览器支持:Chrome使用createObjectURL()
函数,Firefox可以自己使用steam“Chrome使用createObjectURL方法,而Firefox和Opera直接发送流”@SamuelMéndez不幸的是,代码是错误的。幸运的是,else
子句在实践中从未执行过。看我的答案,我不知道。谢谢;)