Javascript 如果我们需要为stream创建URL,为什么我们可以为WebRTC将video.src设置为stream?

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

在Google的应用程序中,它有以下示例代码

我有两个问题:

  • 为什么需要将window.stream设置为stream?)什么意思 “可用于控制台的流”是指?)
  • 如果我们需要为流创建URL,为什么我们可以设置video.src 要流式传输哪一个应该是水滴
  • 谢谢

    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
    子句在实践中从未执行过。看我的答案,我不知道。谢谢;)