exoplayer的使用-2,与flutter相互通信
上一次解决的问题是ac3这些exoplayer本身不支持音频,添加了ffmpeg扩展实现软解码.
另一个问题是flutter端的内置字幕显示不了,也不打算再继续探讨了,换成native实现播放器.由于主项目是flutter的,所以涉及到了相互通信.
当前文章主要涉及到flutter与native相互通信功能
通信有几类,关于这些文章就太多了,不再重复.
今天这里用的是pigeon
先在flutter配置的dev_dependencies下面加入pigeon: ^9.2.5
建一个目录pigeons与lib同级,里面放着messages.dart类
import 'package:pigeon/pigeon.dart';// dart run pigeon --input pigeons/messages.dart --dart_out lib/src/messages.g.dart --java_out android/src/main/java/io/flutter/plugins/exoplayer/Messages.java
@ConfigurePigeon(PigeonOptions(dartOut: 'lib/src/messages.g.dart',dartTestOut: 'test/test_api.g.dart',javaOut: 'android/src/main/java/io/flutter/plugins/exoplayer/Messages.java',javaOptions: JavaOptions(package: 'io.flutter.plugins.exoplayer',),
))
flutter想与native通信,那么messages.dart后面加入一个类
@HostApi(dartHostTestHandler: &#