【发布时间】: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