可以通过
获取streamID列表client.publish(localStream
但是它仅在用户发布流时可用
client.join(null, 'room-name', 'user-id');
[[[[Question]]]
我想查看未发布信息流但通过
加入会议室的用户列表 @override
Widget build(BuildContext context) {
final numberOfTextFields = 5;
final sizePerItem = MediaQuery.of(context).size.height / numberOfTextFields;
return SafeArea(
child: Scaffold(
resizeToAvoidBottomPadding: true,
body: SingleChildScrollView(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: List.generate(
numberOfTextFields,
(index) => SizedBox(
height: sizePerItem,
child: TextField(
decoration: InputDecoration(
contentPadding: EdgeInsets.all(sizePerItem / 2),
hintText: "$index",
),
),
),
).toList(),
),
)),
);
}
由于该用户加入会议室时可以听到流,而无需发布自己的localStream。 因此,即使他们不发布信息流,我也想向所有观众展示。
为了节省带宽, 最好不要发布localStream,而只订阅语音。 因此,即使他们不发布流,我也想识别所有用户
答案 0 :(得分:0)
在现有代码中添加信令系统,以便在用户加入系统时将信号发送给所有用户。如果需要更好地实施,您可以跟踪用户流并进行列表。
答案 1 :(得分:0)
定期对所有可用流进行Ping操作可能有助于了解某人何时进入房间而不是流。
答案 2 :(得分:0)
您应该使用peer-online
事件(在远程用户或主机加入频道时发生。)
client.on('peer-online', function(evt) {
console.log('peer-online', evt.uid);
});
查看Agora.io的文档中on
个事件的完整列表:
https://docs.agora.io/en/Video/API%20Reference/web/interfaces/agorartc.client.html#on