Flutter视频播放插件alpha_player_plugin的使用
Flutter视频播放插件alpha_player_plugin的使用
alpha_player_plugin
对字节跳动官方原生组件AlphaPlayer的一个Flutter插件封装。
具体实现功能参见字节跳动官方GitHub: https://github.com/bytedance/AlphaPlayer
运行效果
特点
- 支持Android和iOS双端。
- 支持播放手机本地MP4文件。
- 简单易用,直接传入路径地址。
快速接入
添加依赖
dependencies:
alpha_player_plugin: ^0.0.1
用法
AlphaPlayerView
// 创建控制器
AlphaPlayerController controller = AlphaPlayerController();
// 使用AlphaPlayerView
AlphaPlayerView(
controller: controller,
width: xxx,
height: xxx,
);
// 开始播放
controller.start(videoPath);
AlphaPlayerSimpleView (对AlphaPlayerView的简单封装)
// 使用AlphaPlayerSimpleView
AlphaPlayerSimpleView(
path: videoPath,
width: xxx,
height: xxx,
);
AlphaPlayerSimpleView(
path: filePath,
width: xxx,
height: xxx,
isLooping: false,
onStarted: (ct) {
// 可以拿到controller,进行其他操作
controller = ct;
},
onCompleted: (videoPath) {
// isLooping为false 才能拿到播放结束的回调
},
);
AlphaPlayerSimpleView说明
属性 | 描述 |
---|---|
path | 视频文件路径 |
width | 宽度 |
height | 高度 |
align | 视频裁剪对齐方式,详见AlphaPlayerScaleType |
isLooping | 是否循环播放 |
onStarted | 视频开始播放,可拿到controller |
onCompleted | 视频播放结束(仅在isLooping为false时生效) |
小提示
项目目录下的test_video
文件夹提供了测试视频,可以传到手机上运行example
进行测试。
视频横向分辨率最好不要超过1920,实际视频最好不超过960,因为部分低端Android手机不支持太高分辨率的播放。详情参见: https://github.com/google/ExoPlayer/issues/4966
其他
如果对你有帮助,动动小手给一个star,谢谢。
目前该库支持的就是上述这些功能,如果有其他需求问题或者bug,欢迎提issue,会尽力帮助大家解决。
示例代码
以下是main.dart
的示例代码:
import 'package:alpha_player_plugin_example/dem_simple_page.dart';
import 'package:flutter/material.dart';
import 'demo_page.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
home: Builder(
builder: (context) {
return Scaffold(
body: Center(
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
ElevatedButton(
onPressed: () {
Navigator.push(context, MaterialPageRoute(builder: (context) {
return const DemoPage();
}));
},
child: const Text("AlphaPlayerView demo"),
),
ElevatedButton(
onPressed: () {
Navigator.push(context, MaterialPageRoute(builder: (context) {
return const DemoSimplePage();
}));
},
child: const Text("AlphaPlayerSimpleView demo"),
),
],
),
),
);
},
),
);
}
}
更多关于Flutter视频播放插件alpha_player_plugin的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
1 回复