bjy_playbackui_flutter
百家云回放和点播 SDK 的 flutter 插件。
1 回放
// 进入普通回放
BJYPlaybackUIFlutterPlatform.instance.startPlayback("roomId", "token", null)
// 进入长期课回放
BJYPlaybackUIFlutterPlatform.instance.startPlayback("roomId", "token", {"session_id": xxx});
// 进入长期课裁剪版本回放
BJYPlaybackUIFlutterPlatform.instance.startPlayback("roomId", "token", {"session_id": xxx, "clipedVersion": 1});
2 点播
BJYPlaybackUIFlutterPlatform.instance.startVideo("videoId", "token", {
// 用户唯一标识
"userId": "853145204",
// 用户昵称
"userName": "yongjiaming",
// 是否支持循环播放
"supportLooping": true,
// 是否支持记忆播放,即下次播放从上次关闭的时间点续播
"supportBreakPointPlay": true,
// 默认是否横屏播放
"isLandscape": true
});
3 下载
// 获取下载记录,返回对象为 JsonArray,每个 JsonObject 对应一条下载记录
BJYPlaybackUIFlutterPlatform.instance.getAllDownloadInfo()
/**
{
// 视频分辨率,-1未知类型;0标清;1高清;2超清;3,720P;4,1080P;5 音频
"definition": 2,
// 房间号,仅回放有值,点播为空
"roomId": "22112282539916",
// 0 点播下载类型,1 回放下载类型
"type": 1,
// 下载文件大小,单位 byte
"downloadedLength": 4016792,
// 下载状态,0初始状态;1下载中;2暂停;3出错;4完成;5已取消
"status": 4,
// 回放长期课专有
"sessionId": ”202307050“,
// 视频 id
"videoId": ”190660972“,
// 总文件大小
"totalLength": 4016792,
// 视频时长,单位秒
"duration": 1233
}
*/
// 下载点播视频
BJYPlaybackUIFlutterPlatform.instance.downloadVideo("189522041",
"gSXewR2YNDpjXPso7IvWEIXKsSLI9AhOwO3UNMRVFsODsXW3VuiOyzG5JtrxIFp-",
(downloadedLength, totalLength) {
print("progress: $downloadedLength/$totalLength");
}, (stateCode, message) {
print("state: $stateCode");
});
// 下载回放视频
BJYPlaybackUIFlutterPlatform.instance.downloadPlayback(
"22112282539916",
"202307050",
"CQNFkDoGFqljzZSuP5BQeK9UE5HaKY3CQbJRozbUo_aWipS34d0I5Z9eIcdJXH3qyMfGF222sWyMCTpCPak4Cg",
(downloadedLength, totalLength) {
print("progress: $downloadedLength/$totalLength");
}, (stateCode, message) {
print("state: $stateCode");
});
// 开始下载
BJYPlaybackUIFlutterPlatform.instance.startDownloadWithVideoID("videoID");
BJYPlaybackUIFlutterPlatform.instance.startDownloadWithRoomIDAndSessionID("roomID", "sessionID");
// 暂停下载
BJYPlaybackUIFlutterPlatform.instance.pauseDownloadWithVideoID("videoID");
BJYPlaybackUIFlutterPlatform.instance.pauseDownloadWithRoomIDAndSessionID("roomID", "sessionID");
// 取消并删除下载文件
BJYPlaybackUIFlutterPlatform.instance.cancelDownloadWithVideoID("videoID");
BJYPlaybackUIFlutterPlatform.instance.cancelDownloadWithRoomIDAndSessionID("roomID", "sessionID");
4 离线点播回放
请确保videoId/RoomId 有对应的下载记录,否则无法正常调起播放页面
// 播本地点播
BJYPlaybackUIFlutterPlatform.instance.startLocalVideo("videoID", {});
// 播本地回放
BJYPlaybackUIFlutterPlatform.instance.startLocalPlayback("roomID", "sessionID", {});