一个对象
同一个 FPlayer。
五个原生内核。
创建一次,就能从手机窗口迁移到桌面窗口,而不用重写播放状态机。
AndroidiOSmacOSWindowsOpenHarmony
跨平台媒体引擎· fplayercore 1.2.12
一套 Dart API,连接 Android、iOS、macOS、Windows 和 OpenHarmony 的原生 fplayercore 内核。跨端复用接口,不牺牲平台体验。
一个运行时 · 五个目标
选择一个平台。同一套 FPlayer 状态、纹理和音轨调用,落到该平台的原生层。
原生 fplayercore 链路已启用,这是 FPlayer 在所有支持平台上默认使用的状态。
保持不变的能力
平台团队维护各自的表面和分发包,产品团队只需要一套播放器模型。
一个对象
创建一次,就能从手机窗口迁移到桌面窗口,而不用重写播放状态机。
音轨
读取语言、编码和采样率,按流索引选择音轨。
自适应表面
旋转、缩放和全屏由 FView 与原生纹理共同处理。
分发
Maven Central AAR、SwiftPM binaryTarget、Windows DLL 和 OpenHarmony HAR 都来自同一个 ijkplayer 发布版本。
从第一帧到第一次切换
初始化、准备、读取轨道、选择轨道。平台细节不会泄漏到 Dart 调用点。
创建播放器并设置媒体源。
准备一次,读取媒体元数据。
按流索引选择任意音轨。
// one player, every target
final player = FPlayer();
await player.setDataSource(url);
await player.prepareAsync();
final tracks = await player.getAudioTracks();
await player.setAudioTrack(tracks.first);