init static method
Implementation
static Future<void> init() async {
_methodChannel.setMethodCallHandler((MethodCall call) async {
switch (call.method) {
case 'onCreatePreRenderEngine':
{
TTFLogger.i('TTVideoEngineStrategy',
'native to flutter onCreatePreRenderEngine');
TTVideoEngineMediaSource source =
TTVideoEngineMediaSource.fromJson(call.arguments);
final cb = onCreatePreRenderEngine;
if (cb == null) {
// Avoid NPE if native triggers pre-render before Dart sets the callback.
// Returning 0 tells native "no engine".
TTFLogger.w('TTVideoEngineStrategy',
'onCreatePreRenderEngine is null, returning 0');
return 0;
}
VodPlayerFlutter player = await cb.call(source);
return player.hashCode;
}
case 'onPlayerCreated':
{
TTVideoEngineMediaSource source =
TTVideoEngineMediaSource.fromJson(call.arguments);
VodPlayerFlutter player = VodPlayerFlutter();
int? code = await player.getCreatedPlayer(uuid: source.getVid);
if (code == player.hashCode) {
onPlayerCreated?.call(player);
} else {
onPlayerCreated?.call(null);
}
return player.hashCode;
}
}
});
}