setOnPrepared method

void setOnPrepared(
  1. OnPrepared? prepared
)

播放器事件回调,准备完成事件

Implementation

void setOnPrepared(OnPrepared? prepared) {
  this.onPrepared = prepared;
  FlutterAliPlayerFactory.methodChannel.invokeMethod(
      'setOnPrepare', wrapWithPlayerId(arg: (null != onPrepared)));
  if (null != onPrepared) {
    BasicMessageChannel<String> _basicMessageChannel =
    BasicMessageChannel<String>(
      "aliPlayer_onPrepare${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 != onPrepared && method == "onPrepared") {
        this.onPrepared!(playerId);
      }
      return '';
    });
  }
}