andirodSDK
  • 帮助与文档 点播 上传SDK andirodSDK

    android 上传SDK

    概述

    此文档旨在指导Android应用开发者,如何在应用中植入媒体上传SDK(后面简称SDK),为开发者提供简单、方便的接口, 帮助开发者实现Android平台媒体上传功能。注意:目前仅支持视频文件上传。
    SDK提供了两种简单的调用方式,开发者可根据自己的需求定制开发。
    SDK基于jar包集成方案,使用者需引入media_upload_demo工程中的libs/media_upload_sdk.jar。
    media_upload_demo是一个Android示例工程,可以帮助开发者了解如何使用SDK相关功能和接口使用。

    阅读对象

    本文档面向所有使用该SDK的开发人员、测试人员、合作伙伴以及对此感兴趣的其他人员。

    SDK 功能说明

    SDK以开发者为中心,以快捷创建媒体上传为目标,具有以下特性:
    1. 支持mp4、3gp、flv等多种视频格式资源
    2. 支持本地视频和录像视频的上传

    使用说明

    1. 环境准备

      • 导入工程

        从 Eclipse 导入Android示例工程,里面只有一个示例窗体:主窗体MainActivity。

      • 权限设置

        在AndroidManifest.xml中做如下设置:

        
        <uses-permission android:name="android.permission.READ_PHONE_STATE" />
        <uses-permission android:name="android.permission.WAKE_LOCK" />
        <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
        <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" />
        <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
        <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
                                            
      • 日志路径

        初始化成功后,sdk会启动写日志文件,用了记录各种事件、帮助开发人员分析问题。日志文件保存在扩展缓存目录下context.getExternalCacheDir(),例如我手机上的日志就保存在/storage/sdcard1/Android/data/com.pplive.upload.test/cache/下面。

    2. 初始化

      
      UploadManager.getInstance().init(Context context, UpLoadManagerListener listener, String url, String cookie);
                                          

      参数listener为监听实例。

      tokenURL示例代码

    3. 添加视频

      
      UploadManager.getInstance().addVideo(vinfo);
                                          

      其中vinfo是UploadManager.VideoInfo对象,表示待上传的视频文件信息。如果cookie为video-paramas,则需要设置vinfo的高宽、比特率。帧率、时长等属性。

      函数执行后会进行内部校验并回调到UpLoadManagerListener.onAddUploadTask(UploadInfo info, int state)

      回调参数中info表示上传信息。

      回调参数中state表示上传状态: 0表示成功, 1表示失败, 2表示已上传过。

      添加成功(state==0)后会立即上传,并且进行状态回调

      
      UpLoadManagerListener.onStateChange(final UploadInfo info)
                                          

      其中info.getProgress()是当前上传任务的进度。

    4. 停止/暂停上传

      
      info.setState(UploadInfo.STATE_STOP);
      info.setStop(true);
      UploadManager.getInstance().updateUploadThread(info);
      UploadManager.getInstance().updateUpload(info);
                                              

      目前暂停上传和停止上传功能是一样,都是设置任务状态为停止,并停止内部上传线程。

      停止上传的视频进度会保存在服务器上,下次重新添加会向服务器请求该视频的上传进度,从断点处继续上传。

    监听接口定义

    以下是主要的接口定义及说明,完整的定义以实际代码为准,如有疑问可随时反馈。

    
    public interface UpLoadManagerListener {
        public void onStateChange(UploadInfo info);//更新进度
        public void onUploadError(UploadInfo info);
        public void onUploadSuccess(UploadInfo info);
        public void onAddUploadTask(UploadInfo info, int state); //0:成功, 1:失败, 2:已上传过
    }
                                
    • 文本导读:
    • sdk的使用方法
    • 阅读对象
    • SDK功能说明
    • 使用说明
    • 监听接口定义
苏宁视频云服务