tencent cloud

文档反馈

Flutter 上传 SDK

最后更新时间:2024-11-15 10:56:54
    对于在 Flutter 平台上传视频的场景,云点播提供了 Flutter 上传 SDK 。上传流程请参见 客户端上传指引
    SDK 名称
    云点播 Flutter 上传 SDK
    版本号
    V1.0.0
    SDK 介绍
    为 App 的最终用户提供本地视频上传到云点播平台的场景
    开发者
    腾讯云计算(北京)有限责任公司
    下载 SDK
    1. 单击下载 Flutter 上传 SDK 及源码,将下载好的压缩包解压,可以看到 vod_upload 目录。
    2. 上传源码在 vod_upload/lib 目录下。

    环境准备

    Flutter:
    Flutter 2.5.0及更高版本。
    Dart 2.19.2及更高版本但低于3.0版本。
    Android:
    Android Studio 3.5及更高版本。
    Android 4.1及更高版本。
    iOS:
    Xcode 11.0及更高版本。
    iOS 9.0及更高版本。
    请确保您的项目已设置有效的开发者签名。

    快速集成

    引入依赖

    1. 将 SDK 源码复制到项目的目录下。
    2. pubspec.yaml中引入SDK
    vod_upload_flutter: path: ./vod_upload
    3. 项目根目录下运行flutter pub get命令刷新依赖。
    注意:
    1. 最好在项目根目录SDK目录SDK Example目录下分别运行flutter pub get命令,不然有可能报错。
    2. SDK Example目录SDK的测试项目,如无需要可以删除。

    添加原生配置

    Android

    AndroidManifest.xml中增加如下配置:
    <!--网络权限--> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

    iOS

    iOSInfo.plist中增加如下配置:
    <key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryLoads</key> <true/> </dict>
    注意:
    如需运行SDK中提供的Demo,还应声明相册使用权限。

    使用

    1. 引入文件。
    import 'package:vod_upload_flutter/txugc_publish.dart';
    2. 创建对象。
    var uploader = TXUGCPublish( id: "", );
    注意:
    id可以为任意字符串,只要保证不重复即可,主要目的是将 Flutter 对象与原生层对象进行映射。

    相关 API

    上传视频

    uploader.publishVideo(TXPublishParam( signature: "", videoPath: "", fileName: "", ));

    取消上传视频

    uploader.cancelUploadVideo();

    恢复上传视频

    uploader.resumeUploadVideo(TXPublishParam( signature: "", videoPath: "", fileName: "", ));

    上传媒体文件

    uploader.publishMedia(TXMediaPublishParam( signature: "", mediaPath: "", fileName: "", ));

    取消上传媒体文件

    uploader.cancelUploadMedia();

    恢复上传媒体文件

    uploader.resumeUploadMedia(TXMediaPublishParam( signature: "", mediaPath: "", fileName: "", ));

    预上传

    TXUGCPublish.prepareUpload(signature, callback);
    注意:
    预上传为静态方法。

    获取上传信息

    // android端只能在上传过程中获取信息, iOS端全程都可以获取信息 uploader.getStatusInfo();

    上报 AppId

    uploader.setAppId(appId);

    设置视频上传回调

    uploader.setVideoListener(listener);

    设置媒体上传回调

    uploader.setMediaListener(listener);

    回调接口及参数解释

    视频上传参数

    TXPublishParam
    字段名
    类型
    是否必填
    解释
    默认值
    signature
    string
    签名
    null
    videoPath
    string
    视频路径
    null
    fileName
    string
    文件名
    null
    enableResume
    boolean
    是否启用续点
    true
    enableHttps
    boolean
    是否启用 https
    false
    coverPath
    string
    封面图
    null
    enablePreparePublish
    boolean
    是否启用预上传(关闭后可手动预上传)
    true
    sliceSize
    integer
    分片大小。
    支持最小为1M,最大10M,默认0。代表上传文件大小除以10。
    0
    concurrentCount
    integer
    分片上传并发数量(若 ≤ 0,则取 SDK 内部默认值2)。
    -1

    媒体上传参数

    TXMediaPublishParam
    字段名
    类型
    是否必填
    解释
    默认值
    signature
    string
    签名
    null
    mediaPath
    string
    视频路径
    null
    fileName
    string
    文件名
    null
    enableResume
    boolean
    是否启用续点
    true
    enableHttps
    boolean
    是否启用 https
    false
    enablePreparePublish
    boolean
    是否启用预上传(关闭后可手动预上传)
    true
    sliceSize
    integer
    分片大小。
    支持最小为1M,最大10M,默认0。代表上传文件大小除以10。
    0
    concurrentCount
    integer
    分片上传并发数量(若 ≤ 0,则取 SDK 内部默认值2)。
    -1

    视频上传回调

    ITXVideoPublishListener
    方法名
    参数
    解释
    onPublishProgress
    void
    上传进度回调
    onPublishComplete
    void
    上传完成回调

    参数解释

    onPublishProgress
    参数名
    类型
    解释
    uploadBytes
    integer
    上传的字节数
    totalBytes
    integer
    总计字节数
    onPublishComplete
    参数名
    类型
    解释
    result
    TXPublishResult
    上传结果
    TXPublishResult
    字段名
    类型
    解释
    retCode
    integer
    错误码
    descMsg
    string
    错误描述信息
    videoId
    string
    视频文件 Id
    videoURL
    string
    视频播放地址
    coverURL
    string
    封面存储地址

    媒体文件上传回调

    ITXMediaPublishListener
    方法名
    参数
    解释
    onMediaPublishProgress
    void
    上传进度回调
    onMediaPublishComplete
    void
    上传完成回调
    参数解释:
    onMediaPublishProgress
    参数名
    类型
    解释
    uploadBytes
    integer
    上传的字节数
    totalBytes
    integer
    总计字节数
    onMediaPublishComplete
    参数名
    类型
    解释
    result
    TXPublishResult
    上传结果
    TXMediaPublishResult
    字段名
    类型
    解释
    retCode
    integer
    错误码
    descMsg
    string
    错误描述信息
    mediaId
    string
    视频文件 Id
    mediaURL
    string
    视频播放地址

    预上传回调

    IPrepareUploadCallback
    方法名
    返回值
    解释
    onLoading
    void
    开始预上传回调
    onFinish
    void
    预上传完成回调

    上传状态信息

    ReportInfo
    字段名
    类型
    解释
    reqType
    string
    请求类型,标识是在哪个步骤。
    errCode
    string
    错误码
    cosErrCode
    string
    COS 上传错误码
    errMsg
    string
    错误信息
    reqTime
    string
    当前步骤的开始时间
    reqTimeCost
    string
    当前步骤的耗时
    fileSize
    string
    文件大小
    fileType
    string
    文件类型
    fileName
    string
    文件名
    fileId
    string
    文件 Id
    appId
    string
    使用 TXUGCPublish 设置进来的点播 appId
    reqServerIp
    string
    当前正在进行步骤所访问的 ip
    reportId
    string
    客户自定义上报 id,可通过 TXUGCPublish 构造方法传入。
    reqKey
    string
    请求键值,一般由文件最后修改时间和本次上传开始时间组成。
    vodSessionKey
    string
    点播服务器会话键值,从申请上传接口获得。
    cosRegion
    string
    当前上传所访问的区域
    requestId
    string
    当前 COS 上传的请求 id
    cosVideoPath
    string
    当前 COS 视频上传的路径
    vodErrCode
    integer
    信令请求错误码
    useHttpDNS
    integer
    是否使用 httpDns 进行域名解析
    useCosAcc
    integer
    是否开启了 COS 域名加速
    tcpConnTimeCost
    integer
    当前步骤连接服务器耗时
    recvRespTimeCost
    integer
    当前步骤收到服务器响应耗时
    
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持