setConvertURLCallback method

Future<void> setConvertURLCallback(
  1. dynamic callback(
    1. String,
    2. String
    )
)

播放前转换播放URL。 对于视频播放,请在播放前尝试转换播放URL

Implementation

Future<void> setConvertURLCallback(Function(String, String) callback) async {
  // print("[FB->F] registerConvertURLCallback");
  BasicMessageChannel<String> _basicMessageChannel =
  BasicMessageChannel<String>(
    "convertURL",
    StringCodec(),
  );
  // 注册调用 Flutter 端的 callback, 并发送至 Native 端
  _basicMessageChannel.setMessageHandler((message) async {
    if (message != null) {
      Map<String, dynamic> parsedArguments = jsonDecode(message);
      String s1 = parsedArguments["param1"];
      String s2 = parsedArguments["param2"];
      // print("[F->D] registerConvertURLCallback callback: $s1, $s2");
      String result = callback(s1, s2);
      // print("[F->FB] registerConvertURLCallback result: $result");
      // 处理接收到的消息
      return result; // 返回结果给 Native
    }
    return "";
  });

  try {
    // print("[FB->F] setConvertURLCallback");
    await FlutterAliPlayerFactory.methodChannel
        .invokeMethod('setConvertURLCallback', wrapWithPlayerId());
    // print("[F->D] setConvertURLCallback return");
  } on PlatformException catch (e) {
    print("Failed to register callback: '${e.message}'.");
  }
}