我尝试了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 ”不添加到行和列中,而是使用堆栈或您选择的任何其他小部件。