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

时间:2016-08-23 02:45:49

标签: javascript webrtc

在Google的WebRTC tutorial中,它有以下示例代码。

我有两个问题:

  1. 为什么我们需要将 window.stream 设置为 stream ? (是什么 " 流可用于控制台"是什么意思?)
  2. 如果我们需要为 stream 创建网址,为什么我们可以设置 video.src 流哪个应该是blob?
  3. 感谢。

    function successCallback(stream) {
      window.stream = stream; // stream available to console
      if (window.URL) {
        video.src = window.URL.createObjectURL(stream);
      } else {
        video.src = stream;
      }
    }
    

1 个答案:

答案 0 :(得分:10)

旧有错误的代码。 video.src = stream错了。它应该是video.srcObject = stream。它永远不会运行,因为今天所有浏览器都支持URL

相反,只要可用(在Chrome和Firefox中都支持),就可以使用srcObject,以便浏览器更好地处理生命周期:

if (typeof video.srcObject == "object") {
  video.srcObject = stream;
} else {
  video.src = URL.createObjectURL(stream);
}

或使用adapter.js而不用担心:

video.srcObject = stream;

哦,window.stream只是一些全局变量。可能由样本作者用于调试。

2013年是WebRTC代码的旧版本。我建议改为查看官方WebRTC samples