全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 阿里云办公 培训与认证 物联网

PCDN SDK Android版手册

更新时间:2017-08-11 14:39:29   分享:   

概述

PCDN支持点播和直播的P2P加速服务,采用独立进程的方式运行,即使崩溃也不影响APP主进程的使用,请根据自身需求配置使用点播和直播服务

系统版本要求
Android2.3及以上(API>=9)


SDK集成步骤

Step 1 引用开发包

在工程中,创建libs文件夹,将所需的aar开发包拷贝到文件中。

35e717e8d5ec47f5.png

在工程的bulid.gradle中,添加对aar开发的引用。

  1. repositories {
  2. flatDir {
  3. dirs 'libs'
  4. }
  5. }
  6. dependencies {
  7. compile(name: 'pcdn-phone-1.0.5', ext: 'aar')
  8. }

Step 2 配置AndroidManifest.xml

配置权限

  1. <uses-permission android:name="android.permission.INTERNET" />
  2. <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
  3. <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

配置Service

  1. <!-- 配置对应服务Service PcdnVodService:点播/下载,PcdnLiveService:直播-->
  2. <service android:name="com.edge.pcdn.PcdnVodService"
  3. android:process=":PcdnVodService"/>
  4. <service android:name="com.edge.pcdn.PcdnLiveService"
  5. android:process=":PcdnLiveService"/>

Step 3 基于示例使用SDK

推荐在Application.OnCreate()中启动PCDN服务,一般不需要Stop。在播放之前使用PCDNAddress()接口去转换播放地址开始播放。PCDNManager负责启动PCDN服务,停止服务,加速地址转换,暂停PCDN服务,恢复PCDN服务,获取版本。

启动PCDN服务

  1. public class MyApplication extends android.app.Application {
  2. @Override
  3. public void onCreate() {
  4. super.onCreate();
  5. PcdnManager.start(this,PcdnType.VOD,
  6. "申请的token",null,null,null);
  7. }
  8. }

地址转换

  1. //使用加速功能,必须通过SDK把地址转换成加速地址
  2. private void onPlay(){
  3. String url ="视频文件URL";
  4. //把视频文件地址转换成PCDN服务地址 http://127.0.0.1:8090/xxxxx
  5. url = PcdnManager.PCDNAddress(PcdnType.VOD,url);
  6. mediaPlayer.play(url);
  7. }


接口使用说明

启动PCDN服务

启动PCDN服务是一个异步过程(耗时大概在50ms),所以建议在APP启动之后立即启动PCDN服务,以保证在需要使用的时候已经做好加速准备。

方法

  1. PcdnManager.start(Context context,String type,String token,String cacheDir,String pid,String ext)

参数说明

参数 类型 是否必须 说明
context Context 建议使用Application 的Context对象
type String 需要启动的PCDN服务类,点播:PcdnType.VOD,下载:PcdnType.DOWN,直播:PcdnType.LIVE
token String 阿里云分配的token
cacheDir String 可为null,指定缓存目录的绝对路径,一般无需指定,默认采用Android/data/包名 /cache/目录,支持系统卸载自动清除。
pid String APP渠道编号,使用渠道编号,可通过云端对不同渠道的APP进行统计和控制,若不区分渠道可使用null
ext String 可为null,预留扩展参数

返回值

使用示例

  1. PCDNManager.start(this,PCDNType.VOD,"your token", null,null,null);


停止PCDN服务

不建议调用此函数,PCDN服务没有任务的时候不会工作,在后台保持等待。

方法

  1. PcdnManager.stop(String type)

参数说明

参数 类型 是否必须 说明
type String 需要停止的PCDN服务类,点播:PcdnType.VOD,下载:PcdnType.DOWN,直播:PcdnType.LIVE

返回值

使用示例

  1. PcdnManager.stop(PCDNType.VOD)


地址转换

将普通视频文件URL转换为加速之后的URL,播放器采用加速之后的URL进行播放,若调用该接口时PCDN服务还没准备好,则会返回传入的视频文件URL,以保证不影响原播放体验。

方法1

  1. PcdnManager.PCDNAddress(String type,String url)

参数说明

参数 类型 是否必须 说明
type String 点播:PcdnType.VOD,下载:PcdnType.DOWN,直播:PcdnType.LIVE
url String 需要加速的视频文件URL http://www.aliyun.com/a.mp4 —> http://127.0.0.1:8090/a.mp4

返回值
String 若PCDN服务正常工作则返回加速之后的视频文件URL,若还在启动中或不可用等其他情况则返回原视频文件URL

使用示例

  1. String url = PcdnManager.PCDNAddress(PCDNType.VOD,"your url")**

方法2

  1. String PcdnManager.PCDNAddress(String type ,String url,int rank,String ext)

参数说明

参数 类型 是否必须 说明
type String 点播:PcdnType.VOD,下载:PcdnType.DOWN,直播:PcdnType.LIVE
url String 需要加速的视频文件URL http://www.aliyun.com/a.mp4 —> http://127.0.0.1:8090/a.mp4
rank int 下载速度,默认不限速,默认值为0,限速单位KB/s
ext String 预留扩展,不需要可传 null

返回值
String 若PCDN服务正常工作则返回加速之后的视频文件URL,若还在启动中或不可用等其他情况则返回原视频文件URL

使用示例

  1. String url = PcdnManager.PCDNAddress(PCDNType.VOD,"your url","your rank",null)


注:方法1默认不限速

获取版本号

方法

  1. PcdnManager.getVersion (String type)

参数说明

参数 类型 是否必须 说明
type String 点播:PcdnType.VOD,下载:PcdnType.DOWN,直播:PcdnType.LIVE

返回值
String PCDN服务版本号

使用示例

  1. String pcdnVersion = PcdnManager.getVersion(PCDNType.VOD);


获取信息

方法

  1. PcdnManager.PCDNGet(String type,String key,String defaultValue)

参数说明

参数 类型 是否必须 说明
type String 点播:PcdnType.VOD,下载:PcdnType.DOWN,直播:PcdnType.LIVE
key String version 获取PCDN 内核版本号
max-upload-bandwidth 上行最大速率(单位KB/s)
total-download-from-cdn 从CDN网络下载流量,单位MB
total-download-from-p2p 从P2P网络下载流量,单位MB
total-upload-size 本次生命周内上传总流量,单位MB
defaultValue String 未获取到,返回的默认值

返回值
String 获取到的信息

使用示例

  1. String pcdnVersion = PcdnManager.PCDNGet(PCDNType.VOD,"total-download-from-p2p","default");

设置信息

方法

  1. PcdnManager.PCDNSet(String type,String keyValue)

参数说明

参数 类型 是否必须 说明
type String 点播:PcdnType.VOD,下载:PcdnType.DOWN,直播:PcdnType.LIVE
keyValue String 设置格式:”k1=v1&k2=v1”,暂时只支持is,ss服务的域名的设置,其key值为pcdn-domain

返回值
int 设置成功与否返回值,成功返回 0

使用示例

  1. String pcdnVersion = PcdnManager.PCDNSet(PCDNType.VOD,String "pcdn-domain");
本文导读目录
本文导读目录
以上内容是否对您有帮助?