搜索本产品文档关键词
快速开始
所有文档
menu

智能点播平台 VOD

快速开始

初始化 SDK

Plain Text
1 string mediaURL = "http://XXX:8191/medias/upload"; //申请上传服务接口URL
2 string completeURL = "http://XXX:8191/medias/upload_done"; //确认上传服务接口地址
3 VodUpload VodUpload = new VodUpload(mediaURL,completeURL);   

说明:

1、申请上传服务接口URL、确认上传服务接口地址为请求VOD服务时的接口地址,具体请参考API文档

demo示例

引入sdk
Plain Text
1import com.baidubce.uploader.UploadStatus;
2import com.baidubce.uploader.UploaderListener;
3import com.baidubce.uploader.VodUpload;
4import com.baidubce.uploader.UploaderInfo;
简单示例
Plain Text
1new Thread() {
2            @Override
3            public void run() {
4                try {
5                   VodUpload VodUpload = new VodUpload("申请上传服务接口URL","确认上传服务接口地址");
6                    File file = new File(filePath);
7                    if (!file.exists()) {
8                        throw new FileNotFoundException("The media file " + file.getAbsolutePath() + " doesn't exist!");
9                    }
10                    String sourceExtension = null;
11                    String filename = file.getName();
12                    sourceExtension = getFileExtension(filename);
13                    VodUpload.setListener(new UploaderListener() {
14                        @Override
15                        public void onPublishEvent(UploaderInfo info) {
16                            Log.d("uploader", "upload file onPublishReady status is " + info.status+"id is "+info.id + "进度"+info.percent);
17                        }
18
19                        @Override
20                        public void onPublishProgress(UploaderInfo info) {
21                            Log.d("uploader", "upload file onPublishComplete status is " + info.status+"id is "+info.id + "进度"+info.percent);
22                        }
23                        @Override
24                        public void onPublishComplete(UploaderInfo info) {
25                            Log.d("uploader", "upload file onPublishComplete status is " + info.status+"id is "+info.id + "进度"+info.percent+mediaId is"+info.mediaId);
26                        }
27                        @Override
28                        public void onError(UploaderInfo info) {
29                             Log.d("uploader", "上传失败,error is"+info.errMsg);
30                    }
31                });
32                UploaderInfo UploaderInfo =  VodUpload.upload(file);
33            ;} catch (Throwable e) {
34                e.printStackTrace();
35                // Exception means status failed
36                toastMessage(true, "上传失败,错误信息:" + e.getMessage());
37            }
38        }
39    }.start();
40    

高级功能

上传文件

Plain Text
1VodUpload.upload(file)

说明:

1、file为待上传的文件,支持上传文件类型:.mp4, .flv, .mov, .3gp, .avi, .mpg, .asf, .wmv, .mkv, .webm, .mxf, .mp3, .m4a, .flac, .ogg, .wav, .ra, .aac, .amr等音视频文件。

暂停上传

SDK支持通过stop()方法,暂停正在上传的文件

Plain Text
1VodUpload.stop();

恢复上传

已经暂停的文件,可以通过resume()方法恢复上传

Plain Text
1VodUpload.resume()

取消上传

SDK支持通过cancel()方法,取消正在上传的文件

Plain Text
1VodUpload.cancel()

说明:

1、取消上传的文件,结束并上传实例销毁(不可恢复)

设置是否分片上传

SDK支持通过setMultipartUpload(boolean val)方法设置是否开启分片上传,默认为开启

Plain Text
1VodUpload.setMultipartUpload(false) 

设置分片大小

SDK支持通过setSliceSize(long size)方法设置分片大小。单位为 byte,默认值为 16 1024 1024。

Plain Text
1VodUpload.setSliceSize(8 * 1024 * 1024)

开启并行上传的线程数

SDK支持通过 setSocketNum(int num)方法设置上传线程数。默认值为 1。

Plain Text
1VodUpload.setSocketNum(2)

设置是否自动提取封面

SDK支持通过 setAutoExtractCover(boolean val)方法设置是否自动提取封面。默认为false。

Plain Text
1VodUpload.setAutoExtractCover(true)

获取上传信息

Plain Text
1UploaderInfo info =  VodUpload.getUploaderInfo()

说明:

1、UploaderInfo参数信息见接口描述-UploaderInf】。

断点续传

断点续传功能的前提是需要分片上传,SDK 默认开启了分片上传和断点续传功能,无需额外操作。但断点续传功能仅限于为退出app,如果退出app则信息将会被清除。

应用场景:上传文件暂停后,如果恢复上传可以从可以从中断处继续上传,减少重复上传时间。

事件监听

Plain Text
1VodUpload.setListener(new UploaderListener() {
2    @Override
3    public void onPublishEvent(UploaderInfo info) {
4        Log.d("uploader", "upload file onPublishReady status is " + info.status+"id is "+info.id + "进度"+info.percent);
5    }
6
7    @Override
8    public void onPublishProgress(UploaderInfo info) {
9        tvFileSelected.setText("上传进度:" + info.percent + "%");
10        Log.d("uploader", "upload file onPublishComplete status is " + info.status+"id is "+info.id + "进度"+info.percent);
11    }
12
13    @Override
14    public void onPublishComplete(UploaderInfo info) {
15        toastMessage(true, "上传完成,mediaId is"+info.mediaId);
16        Log.d("uploader", "upload file onPublishComplete status is " + info.status+"id is "+info.id + "进度"+info.percent);
17    }
18    @Override
19    public void onError(UploaderInfo info) {
20        toastMessage(true, "上传失败,error is"+info.errMsg);
21    }
22});

接口描述-UploaderInfo

参数
类型
说明
id string 文件上传 id
name string 文件名
size string 文件大小
fileType string 文件类型
suffixName string 文件后缀名
status string 上传状态
percent number 文件上传进度百分比, 范围:[0, 100]
errMsg string 上传失败的错误信息
mediaId string 服务端保存的媒资 Id,当上传完成后才有值
上一篇
SDK集成
下一篇
版本更新记录