setOnRenderFrameCallback method
设置渲染帧回调。
Implementation
Future<void> setOnRenderFrameCallback(Function(Object) onRenderFrame) async {
BasicMessageChannel<String> _basicMessageChannel =
BasicMessageChannel<String>(
"onRenderFrame",
StringCodec(),
);
// 注册调用 Flutter 端的 callback, 并发送至 Native 端
_basicMessageChannel.setMessageHandler((message) async {
if (message != null) {
Map<String, dynamic> parsedArguments = jsonDecode(message);
Object frameInfo = parsedArguments["param1"];
bool result = onRenderFrame(frameInfo);
// 处理接收到的消息
return result.toString(); // 返回结果给 Native
}
return "false";
});
try {
await FlutterAliPlayerFactory.methodChannel
.invokeMethod('setOnRenderFrameCallback', wrapWithPlayerId());
} on PlatformException catch (e) {
print("Failed to register callback: '${e.message}'.");
}
}