首页 > 解决方案 > 颤振中未定义的名称“导航器”

问题描述

我有一个用于颤振页面的 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;
  }
}

}

在这里,飞镖分析抛出一个错误:

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

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

我试过删除构建目录,运行flutter clean,重新启动项目,一切!!

请帮忙!

标签: flutterdartwebrtcflutter-layout

解决方案


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


推荐阅读