我尝试了agora flutter 快速入门,它的确很好。

但是agora表示,一个 channel 可以拥有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个 View ,以优化agora的视频 session 功能。.预先感谢!

最佳答案

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)),
  ],
));

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

10-06 06:41