setOnRenderingStart method

  1. @override
void setOnRenderingStart(
  1. OnRenderingStart renderingStart
)
override

播放器事件回调,首帧显示事件

Implementation

@override
void setOnRenderingStart(OnRenderingStart renderingStart) {
  this.onRenderingStart = renderingStart;
  FlutterAliPlayerFactory.methodChannel.invokeMethod('setOnRenderingStart',
      wrapWithPlayerId(arg: (null != onRenderingStart)));
  if (null != onRenderingStart) {
    BasicMessageChannel<String> _basicMessageChannel =
        BasicMessageChannel<String>(
      "listPlayer_onRenderingStart${playerId}",
      StringCodec(),
    );
    // 注册调用 Flutter 端的 callback, 并发送至 Native 端
    _basicMessageChannel.setMessageHandler((String? msg) async {
      Map<String, dynamic> map = jsonDecode(msg!);
      String playerId = map['playerId'];
      String method = map['method'];
      if (null != onRenderingStart && method == "onRenderingStart") {
        this.onRenderingStart!(playerId);
      }
      return '';
    });
  }
}