Kinetic Player

kinetic_player

最强大的移动端android和ios双核 Flutter 视频播放器插件支持各种格式:Android 使用 GSYVideoPlayer 13.1.0iOS 使用 libobjc/SGPlayer(master)。

仓库:github.com/wanwenfeng4798/kinetic_player

特性

  • 统一的 CommonVideoController API(播放 / 暂停 / 跳转 / 缩放 / 倍速 / 音量 / 音轨 / 循环 / 截图等)
  • 平台自动选型:Android → GSY,iOS → SGPlayer
  • B 站风格原生控制栏:竖向音量弹窗(拖动显示百分比)、设置面板选音轨、统一进度条与底栏图标尺寸
  • iOS 支持滑动手势调进度 / 音量 / 亮度(与 Android 共用 enableNativeControls
  • Android 画中画(PiP)默认开启(API 26+;播放中切后台自动进入,含 GSY 自动播放场景)
  • 独有功能通过显式向下转型调用(不污染公共接口)
  • iOS 支持 CocoaPodsSwift Package Manager (SPM) 双集成
  • iOS 预编译 SGPlayer.xcframework 可通过 GitHub Release 下载,避免本地编译

文档

文档 说明
doc/USAGE.md 集成步骤、公共 API、原生 UI、平台差异、PiP 配置
doc/GSY_FEATURES.md Android GSY 高级能力对照表
doc/EXAMPLE.md Example 应用说明
doc/IOS_SGPLAYER.md SGPlayer 预编译产物、Release 发布、本地编译

快速开始

1. 添加依赖

dependencies:
  kinetic_player:
    path: ../kinetic_player   # 或 pub.dev / git 引用

2. 启用 iOS SPM(推荐)

在应用与插件 pubspec.yaml 中:

flutter:
  config:
    enable-swift-package-manager: true

3. 准备 iOS SGPlayer 二进制

推荐(插件使用者): 下载预编译产物(维护者发布 Release 后)

bash kinetic_player/ios/scripts/ensure_sgplayer.sh

在 CocoaPods 模式下首次 pod install 时自动执行上述逻辑。

备选: 本地从源码编译(约 30–60 分钟,仅首次)

bash kinetic_player/ios/scripts/build_sgplayer.sh

4. 最小示例

import 'package:kinetic_player/kinetic_player.dart';

CommonVideoPlayerViewBuilder(
  url: 'https://example.com/video.mp4',
  creationParams: const GsyUiConfig(
    showVolumeToolbar: true,
    showSettingsButton: true,
    pictureInPictureEnabled: true, // Android only
  ).toCreationParams(),
  builder: (controller) {
    // controller 为 CommonVideoController,可按平台向下转型
  },
);

完整示例见 doc/EXAMPLE.mdexample/ 目录。

  • 测试高清视频地址 http://www.thismonkey.com/files/2160p/jellyfish-140-mbps-4k-uhd-hevc-10bit.mkv | 10 Mbps 码率(轻度测试,适合移动端/低端盒子) [http://jell.yfish.us/media/jellyfish-10-mbps-hd-hevc-10bit.mkv](http://jell.yfish.us/media/jellyfish-10-mbps-hd-hevc-10bit.mkv) | 50 Mbps 码率(中度测试,基本等同于常见流媒体最高画质) [http://jell.yfish.us/media/jellyfish-50-mbps-hd-hevc-10bit.mkv] | 140 Mbps 码率(重度测试,等同于 4K UHD 蓝光原盘极限码率) [http://jell.yfish.us/media/jellyfish-140-mbps-4k-uhd-hevc-10bit.mkv](http://jell.yfish.us/media/jellyfish-140-mbps-4k-uhd-hevc-10bit.mkv) | 400 Mbps 码率(极限高画质硬解测试,极度考验设备解码与网速极限)[http://jell.yfish.us/media/jellyfish-400-mbps-4k-uhd-hevc-10bit.mkv](http://jell.yfish.us/media/jellyfish-400-mbps-4k-uhd-hevc-10bit.mkv)

平台支持

平台 内核 真机 模拟器 画中画
Android GSYVideoPlayer 13.1.0 ✅ 默认开启
iOS SGPlayer master ❌(FFmpeg 预编译仅 arm64 真机)

许可证

本插件代码采用 MIT License

SGPlayer 为独立第三方项目,其许可证以 libobjc/SGPlayer 仓库为准。

Libraries

kinetic_player