代码之家  ›  专栏  ›  技术社区  ›  Trishant Pahwa

无法在不重新加载的情况下使用Flatter_WebRTC包

  •  0
  • Trishant Pahwa  · 技术社区  · 4 年前

    我正在尝试使用 package ,颤振WebRTC。我使用它的方式如下:

    1. 声明localRenderer。
    2. 初始化它。
    3. 调用getUserMedia函数获取流。
    4. 将localRenderer的src对象分配给流。
    5. 在RTCDeoView小部件中查看本地渲染器。

    我在initState中使用2和3,在getUserMedia中使用4。

    但是,我面临的是。起初,视频没有出现。直到,使用 r 调试时,它突然出现。

    生产中可能无法重新加载。有没有一种方法可以在每次都不重新加载的情况下查看视频?

    0 回复  |  直到 4 年前
        1
  •  1
  •   theunixdisaster    3 年前

    将localRenderer的srcObject指定给流时,请确保在 setState .

    函数应该如下所示:

    playVideoFromCamera() async {
        final constraints = {'video': true, 'audio': true};
        final stream = await navigator.mediaDevices.getUserMedia(constraints);
       setState(() {
          _localRenderer.srcObject = stream;
       });
    }
    

    把东西包起来

    @override
      void initState() {
        super.initState();
        initRenderers();
        playVideoFromCamera();
      }