【问题标题】:Undefined name 'navigator' in flutter颤振中未定义的名称“导航器”
【发布时间】:2020-09-12 06:24:43
【问题描述】:

我有一个用于颤振页面的 StatefulWidget。在按下按钮时,我调用以下方法:

IconButton(
        icon: Icon(Icons.photo),
        iconSize: 25.0,
        color: Theme.of(context).primaryColor,
        onPressed: (){
          Navigator.push(
            context,
            MaterialPageRoute(builder: (context) => CallPage(title:contact)),
          );
        },
      ),

CallPage 是另一个 statefulWidget,我试图从中创建本地和远程 RTCVideoRenderers。

我使用以下代码从导航器中获取 userMedia: video and audio。

_getUserMedia() async {
final Map<String, dynamic> mediaConstraints = {
  'audio': false,
  'video': {'facingMode': 'user'}
};

if(await Permission.camera.request().isGranted) {
  if(await Permission.microphone.request().isGranted){
    MediaStream _localStream = await navigator.getUserMedia(mediaConstraints);
    _localRenderer.srcObject = _localStream;
    return _localStream;
  }
}

}

这里,Dart 分析抛出错误:

错误:未定义名称“导航器”。 ([chatapp] lib/home/call_page.dart:99 处的 undefined_identifier)

我现在快疯了!这个确切的应用程序在几分钟前工作。突然停止工作了。

我已经尝试删除构建目录,运行flutter clean,重启项目,一切!!

请帮忙!

【问题讨论】:

  • 第 99 行是什么?
  • navigator.getUserMedia(mediaConstraints) 的代码在哪里?
  • getUserMedia 是返回流对象的函数。 mediaConstraints 是一个 Map:final Map mediaConstraints = { 'audio': false, 'video': {'facingMode': 'user'} };
  • 第 99 行是我调用 navigator.getUserMedia 的行
  • 我猜我们和你的编译器有同样的问题...... navigator 是什么?你没有给我们任何提示我们或你的编译器应该知道navigator是什么......

标签: flutter dart webrtc flutter-layout


【解决方案1】:

就在问这个问题的前一天,flutter-webrtc 包中的类名 navigator 已更改为 MediaDevices!希望它可以帮助某人。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-05-01
    • 2021-01-17
    • 1970-01-01
    • 2020-02-25
    • 2021-03-28
    • 2022-01-25
    • 2021-11-06
    • 2021-08-12
    相关资源
    最近更新 更多