flutter_aliplayer 7.10.0
flutter_aliplayer: ^7.10.0 copied to clipboard
Aliyun Player With Flutter
7.10.0 #
升级 Native 播放器SDK 到 7.10.0
7.9.0 #
🚀 更新 Native SDK 到 7.9.1
✨ 新增功能
FlutterAliMediaLoaderV2 预加载模块
全面支持多种数据源预加载:
- ✅ URL 源:直接通过视频 URL 进行预加载
- ✅ VidAuth 源:支持阿里云视频点播标准鉴权方式(VID + PlayAuth)
- ✅ VidSts 源:支持 STS 临时令牌鉴权方式(VID + AccessKey + SecurityToken) 统一预加载接口:通过单一 API 管理所有类型视频源的预加载任务
任务管理能力:支持任务添加、状态监听、资源释放等完整生命周期管理
示例
1、创建 FlutterAliMediaLoaderV2 实例
FlutterAliMediaLoaderV2 loaderV2 = FlutterAliMediaLoaderV2();
2、设置监听
onError异常监听
loaderV2.onError = (ErrorInfo error) {
print("MediaLoaderV2 Code:${error.errorCode}, Msg:${error.errorMsg} Extra: ${error.errorExtra}");
};
onCompleted任务完成监听
loaderV2.onCompleted = (taskId, urlOrVid) {
};
onCanceled任务取消监听
loaderV2.onCanceled = (taskId, urlOrVid) {
};
3、setPreloadConfig 设置预加载任务参数
仅适用于多码率视频, defaultBandWidth、defaultResolution、defaultQuality三者任选其一即可。
PreloadConfig config = PreloadConfig();
config.duration = 1000; // 默认为 1000
config.defaultQuality = "FD";
config.defaultBandWidth = 200000;
config.defaultResolution = 1920 * 1080;
loaderV2.setPreloadConfig(config);
4、addTask 添加任务并获取 taskId
- UrlSource
loaderV2.addTask(UrlSource(videoUrl: "videoUrl")).then((taskId) {
print("MediaLoaderV2: taskId: $taskId");
});
- VidAuth
VidAuth auth = VidAuth(
vid: "your videoId",
playAuth: "your playAuth",
region: "your region",
);
loaderV2.addTask(auth).then((taskId) {
print("MediaLoaderV2: taskId: $taskId");
});
- VidSts
VidSts vidSts = VidSts(
vid: "your vid",
accessKeyId: "your accessKeyId",
accessKeySecret: "your accessKeySecret",
securityToken: "your securityToken",
);
loaderV2.addTask(vidSts).then((taskId) {
print("MediaLoaderV2: taskId: $taskId");
});
5、pauseTask(taskId) 暂停任务
loaderV2.pauseTask(taskId);
6、resumeTask(taskId) 恢复任务
loaderV2.resumeTask(taskId);
7、cancelTask(taskId) 取消任务
loaderV2.cancelTask(taskId);
8、dispose 销毁MedialoaderV2
loaderV2.dispose();
🗑️ API 废弃与删除
| API 方法 | 替代方案 | 说明 |
|---|---|---|
destroy() |
release() |
播放器销毁逻辑已统一至 release() |
setRate() |
setSpeed() |
播放速率设置功能已经统一至 setSpeed() |
getCacheConfig() |
- | 过时方法,请清除相关API调用 |
setCacheConfig(Map) |
- | 过时方法,请清除相关API调用 |
🗑️ 常量 删除
| 常量 | 替代方案 | 说明 |
|---|---|---|
AVP_SCALINGMODE_XXXXX |
ScaleMode |
统一使用 ScaleMode |
AVP_ROTATE_XXXX |
RotateMode |
统一使用 RotateMode |
AVP_MIRRORMODE_XXXX |
MirrorMode |
统一使用 MirrorMode |
🔁 重命名的 API 为提升语义准确性,以下方法已重命名
getRate => getSpeed
// ❌ 旧用法(已失效)
double rate = await player.getRate();
// ✅ 新用法
double speed = await player.getSpeed();
7.8.0 #
- 升级 播放器SDK 到 7.8.0
- 新增 DownloadEvent 、AliMediaInfo、AliTrackInfo
7.4.0 #
- 修复 setScaleMode 枚举错误问题
- 升级 播放器SDK 到 7.4.0
7.3.0 #
- 升级播放器SDK 到7.3.0
- 升级RtsSDK(超低延迟组件)到 7.3.0
7.2.1 #
- 增加 setLogInfoCallBack SDK 日志回调方法
- 增加 getLogLevel 对 iOS 的方法支持
- 移除 registerWith 方法,修复因 registerWith() 导致的 Android端 无法编译的问题
7.2.0 #
- 更新 播放器SDK 内核 至 7.2.0
- 更新 一体化SDK 内核 至 7.1.0
7.1.0 #
- 更新 RTS 低延迟直播组件 内核 至 7.2.0
- 更新 播放器 SDK 内核 至 7.1.0
7.0.0 #
- 更新 SDK 内核 至 7.0.0
- 新增 onSubTrackReady 监听
- 修复一些Bug
6.19.0 #
- 更新 Native SDK 至 6.19.0
- 新增ios画中画状态监听及按钮透出
- 增加abr升路上限功能
- 修复部分已知问题
6.18.0 #
- 更新 Native SDK 至 6.18.0
- 新增预渲染功能
- 修复部分已知问题,加快首帧渲染显示
6.17.0 #
- 更新 Native SDK 至 6.17.0,使用独立SDK(AliPlayerSDK)代替一体化SDK(AliVCSDK_InteractiveLive),提供useAIOFramework开关支持SDK内核切换
6.7.0 #
- 更新 Native SDK 至 6.7.0
- 解决与推流插件 flutter_livepush_plugin 冲突问题,使用一体化SDK(AliVCSDK_InteractiveLive)代替独立SDK(AliPlayerSDK)
5.5.6 #
- 更新播放器 SDK 至 5.5.6.0,并增加对应 SDK 接口
- Demo 增加水印,打点,缩略图,画中画等功能
5.4.10 #
- 修复 Android 创建 ListPlayer 出现错误日志问题
- 修复 Android 调用截图接口,在图片未完全保存到本地时,回调截图成功问题
- iOS 增加接口,用于下载后获取全路径
- AliPlayerView 增加 aliPlayerViewType 属性,用于指定渲染 View 的类型(仅对 Android 有效)
- Android 适配低版本 SDK 运行报错问题
- iOS 修改为本地集成播放器原生SDK
5.4.9-dev.1.3 #
- iOS 修改为本地集成播放器原生SDK
5.4.9-dev.1.2 #
- Android 适配低版本 SDK 运行报错问题
5.4.9-dev.1.1 #
- AliPlayerView 增加 aliPlayerViewType 属性,用于指定渲染 View 的类型(仅对 Android 有效)
5.4.9-dev.1.0 #
- 修复 Android 创建 ListPlayer 出现错误日志问题
- 修复 Android 调用截图接口,在图片未完全保存到本地时,回调截图成功问题
- iOS 增加接口,用于下载后获取全路径
5.4.9 #
- 更新播放器 SDK(更新 OpenSSL)
- 修复 Android 播放 hdr 视频问题
- 修复 Android、iOS 部分接口调用报错问题
5.4.8-dev.1.2 #
- 修复 Android 播放报错问题
- 修复 iOS 播放时,偶现 onInfo 没有回调的问题
- flutter 接口增加空类型支持
5.4.8-dev.1.0 #
- 更新 Anddroid、iOS播放器SDK为 5.4.8.0
- 移除 flutter_aliplayer_artc 和 flutter_rts,需要使用 Rts SDK,请自行在 Android、iOS 项目里添加依赖
- 新增接口
5.4.3-dev.5 #
- 增加 Sei 、SubtitleHeader 接口调用
- 增加 FlutterAliPlayerFactory.loadRtsLibrary() 接口,(Android)
- 修复 5.4.2 编译报错问题
- 修复集成 Rts 低延时直播无法播放问题
- 修复 AliPlayer、AliListPlayer、AliLiveShiftPlayer 依次创建后,先创建的对象失效问题
5.4.2 #
阿里云播放器版本更新至:5.4.2.0 flutter_aliplayer_artc : ^5.4.2 flutter_rts : ^1.9.0
- 增加直播时移功能(测试中)
- 修复下载无法设置 region 问题
- 重复创建 AliPlayer 对象,导致先创建的 AliPlayer 对象回调监听失效问题
5.4.0 #
阿里云播放器版本更新至:5.4.0 flutter_aliplayer_artc : ^5.4.0 flutter_rts : ^1.6.0
- 支持多个播放实例,具体可以参照demo代码
multiple_player_page.dart - 播放器回调添加playerId参数,用于多实例调用的区分
- 添加
setPlayerView方法,创建播放器后,需要绑定view到播发器 - 去除原列表播放器管道,在android和iOS源码层AliListPlayer与AliPlayer公用一个管道
initService、getSDKVersion以及log级别开关等方法改为静态方法,与原生sdk对齐
5.2.2 #
- Docking Aliyun Player SDK (PlatForm include Android、iOS)
- RenderView: Android uses TextureView,iOS uses UIView