setConvertURLCallback method
播放前转换播放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}'.");
}
}