发现 
其他开发者工具
media_kit:跨平台 Flutter 音视频播放库
面向 Flutter 与 Dart 开发者的跨平台视频与音频播放库,支持多平台与多种媒体格式。
- 浏览
- 4
- 访问
- 0
- 下载
- 0
- 版本
- vmedia_kit-v1.1.10
该作品还没有经过官方审核。访问演示、下载或复制命令前,请自行确认来源可信。
详细介绍
项目简介
media_kit 是面向 Flutter 与 Dart 的跨平台视频播放器和音频播放器库,采用模块化包拆分方式,方便在应用中按需集成视频或音频播放能力。支持 Android、iOS、macOS、Windows、GNU/Linux 与 Web;其中 Android 5.0 及以上、iOS 9 及以上、macOS 10.9 及以上、Windows 7 及以上,GNU/Linux 支持现代发行版,Web 支持现代浏览器。
主要功能
- 视频与音频播放,跨平台
- 广泛的格式/编解码支持
- 硬件/GPU 加速
- 播放列表:下一首/上一首/跳转/随机播放
- 调整音量、速率、音调
- 选择视频、音频、字幕轨道,支持外挂音频/字幕
- 支持 HTTP headers
- 内置视频控件、字幕样式设置、截图
安装与使用
需要视频播放时,在 pubspec.yaml 中加入:
dependencies:
media_kit: ^1.2.6
media_kit_video: ^2.0.1
media_kit_libs_video: ^1.0.7
只需音频播放时:
dependencies:
media_kit: ^1.2.6
media_kit_libs_audio: ^1.0.7
初始化与基础播放:
import 'package:media_kit/media_kit.dart';
import 'package:media_kit_video/media_kit_video.dart';
void main() {
WidgetsFlutterBinding.ensureInitialized();
MediaKit.ensureInitialized();
runApp(const MyApp());
}
class MyScreenState extends State<MyScreen> {
late final player = Player();
late final controller = VideoController(player);
@override
void initState() {
super.initState();
player.open(
Media('https://user-images.githubusercontent.com/28951144/229373695-22f88f13-d18f-4288-9bf1-c3e078d83722.mp4'),
);
}
@override
void dispose() {
player.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return Video(controller: controller);
}
}
使用 Video(controller: controller) 显示画面;结束播放后调用 await player.dispose(); 释放资源。
注意事项
- 同时需要视频与音频时选择视频库。
media_kit_libs_video与media_kit_libs_audio不应混用。- Release 模式性能明显高于 Debug 模式。
- Android 上建议启用
--split-per-abi或使用 app bundle 替代 APK。 - 使用前必须调用
MediaKit.ensureInitialized();根据项目需要补充权限配置。 - 许可证为 MIT。
本作品整理自 GitHub 开源项目 media-kit/media-kit,原作者 @media-kit,许可证 MIT。中文介绍由 AI 根据项目 README 整理,以原仓库为准。
更新记录
- vmedia_kit-v1.1.10当前版本
防止对 MediaKit.ensureInitialized 的多次调用。
评论