如何在扑朔迷离中用agora io实现17个主机?

时间:2020-04-04 03:02:11

标签: flutter dart agora.io

我尝试了agora颤振快速入门,这真的很好。

但是agora表示一个频道最多可以有17位主持人。如何实施最佳实践?

这是示例中的布局:

Widget _viewRows() {
final views = _getRenderViews();
switch (views.length) {
  case 1:
    return Container(
        child: Column(
      children: <Widget>[_videoView(views[0])],
    ));
  case 2:
    return Container(
        child: Column(
      children: <Widget>[
        _expandedVideoRow([views[0]]),
        _expandedVideoRow([views[1]])
      ],
    ));
  case 3:
    return Container(
        child: Column(
      children: <Widget>[
        _expandedVideoRow(views.sublist(0, 2)),
        _expandedVideoRow(views.sublist(2, 3))
      ],
    ));
  case 4:
    return Container(
        child: Column(
      children: <Widget>[
        _expandedVideoRow(views.sublist(0, 2)),
        _expandedVideoRow(views.sublist(2, 4))
      ],
    ));
  default:
}
return Container();

}

我想再添加多达13个视图,以优化agora的视频会议功能。

1 个答案:

答案 0 :(得分:1)

Agora video sdk最多可同时支持7个人(正在开发最多25个人的视频支持)。

如果您想在自己的信息流中添加4个人以上,则可以像这样简单地扩展切换条件

case 5:
return Container(
    child: Column(
  children: <Widget>[
    _expandedVideoRow(views.sublist(0, 2)),
    _expandedVideoRow(views.sublist(2, 4)),
    _expandedVideoRow(views.sublist(4, 5))
  ],
));
case 6:
return Container(
    child: Column(
  children: <Widget>[
    _expandedVideoRow(views.sublist(0, 2)),
    _expandedVideoRow(views.sublist(2, 4)),
    _expandedVideoRow(views.sublist(4, 6))
  ],
));
case 7:
return Container(
    child: Column(
  children: <Widget>[
    _expandedVideoRow(views.sublist(0, 2)),
    _expandedVideoRow(views.sublist(2, 4)),
    _expandedVideoRow(views.sublist(4, 6)),
    _expandedVideoRow(views.sublist(6, 7)),
  ],
));

您还可以创建自己的界面,在该界面中,“视图”不添加到行和列中,而是使用堆栈或您选择的任何其他小部件。