全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网
视频点播

Android上传SDK

更新时间:2017-11-06 15:56:35

  • 环境要求

    Android系统版本:2.3.3(Api 10) 及以上

  • 通过jar包的形式导入. 分别引入以下两个jar包,

    (1)VODUpload Android SDK,见 视频上传SDK下载

    (2)OSS Android SDK ,具体SDK说明和下载地址请查看 OSS产品的Android-SDK 。 SDK下载之后,进行以下步骤(对Android studio或者Eclipse都适用):

    • 解压后在libs目录下得到jar包,目前包括aliyun-vod-croe-android-sdk-xxx.jar、aliyun-vod-upload-android-sdk-xxx.jar、gson-xxx.jar、jsr305-xxx.jar、okhttp-xxx.jar、okio-xxx.jar、oss-android-sdk-xxx.jar,将以上7个jar包导入工程的libs目录。
  • 权限设置

    以下是VODUpload Android SDK所需要的Android权限,请确保您的AndroidManifest.xml文件中已经配置了这些权限,否则,SDK将无法正常工作。

    注意:Android 6.0之后读写权限需要用户动态申请.请保证申请权限之后再读写文件不然会出现上传失败,文件找不到的异常.

    1. <uses-permission android:name="android.permission.INTERNET"/>
    2. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    3. <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
    4. <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
  • 创建VODUpload实例

    在这里需要设置回调函数。

    1. VODUploadCallback callback = new VODUploadCallback() {
    2. /**
    3. * 文件开始上传时触发
    4. */
    5. void onUploadStarted() {;}
    6. /**
    7. * 上传成功回调
    8. */
    9. void onUploadSucceed(UploadFileInfo info) {;}
    10. /**
    11. * 上传失败
    12. */
    13. void onUploadFailed(UploadFileInfo info, String code, String message) {;}
    14. /**
    15. * 回调上传进度
    16. * @param uploadedSize 已上传字节数
    17. * @param totalSize 总共需要上传字节数
    18. */
    19. void onUploadProgress(UploadFileInfo info, long uploadedSize, long totalSize) {;}
    20. /**
    21. * 上传凭证过期后,会回调这个接口
    22. * 可在这个回调中获取新的上传,然后调用resumeUploadWithAuth继续上传
    23. */
    24. void onUploadTokenExpired() {;}
    25. /**
    26. * 上传过程中,状态由正常切换为异常时触发
    27. */
    28. void onUploadRetry(String code, String message) {;}
    29. /**
    30. * 上传过程中,从异常中恢复时触发
    31. */
    32. void onUploadRetryResume() {;}
    33. };
    34. VODUploadClient uploader = new VODUploadClientImpl(getContext());
  • 列表管理

    • 添加上传文件

      注意:支持的文件大小<=4G。

      1. uploader.addFile("<uploadFilePath>",
      2. "<videoInfo>");

      上传时,可以使用VodInfo对象来设置是否启用水印和优先级。定义如下:

      1. private Boolean isShowWaterMark;
      2. private Integer priority;
    • 删除上传文件

      index,对应listFiles接口返回列表中元素的索引。

      1. uploader.deleteFile(index);
    • 取消列表中的单个文件上传

      1. uploader.cancelFile(index);
    • 恢复列表中的单个文件上传

      1. uploader.resumeFile(index);
    • 获取上传文件列表

      1. List<UploadFileInfo> list = uploader.listFiles();
    • 清除上传文件列表

      1. upload.clearFiles();
  • 上传控制

    • 开始上传

      1. uploader.start();
    • 停止上传

      1. uploader.stop();
    • 暂停上传

      1. uploader.pause();
    • 恢复上传

      1. uploader.resume();
    • 上传凭证失效后恢复上传

      1. uploader.resumeUploadWithAuth(uploadAuth);
    • 设置上传地址和上传凭证

      1. uploader.setUploadAuthAndAddress(uploadAuth, uploadAddress);
本文导读目录