Android网络库sdk开发经验分享.docx

上传人:b****0 文档编号:9014431 上传时间:2023-05-16 格式:DOCX 页数:11 大小:84.98KB
下载 相关 举报
Android网络库sdk开发经验分享.docx_第1页
第1页 / 共11页
Android网络库sdk开发经验分享.docx_第2页
第2页 / 共11页
Android网络库sdk开发经验分享.docx_第3页
第3页 / 共11页
Android网络库sdk开发经验分享.docx_第4页
第4页 / 共11页
Android网络库sdk开发经验分享.docx_第5页
第5页 / 共11页
Android网络库sdk开发经验分享.docx_第6页
第6页 / 共11页
Android网络库sdk开发经验分享.docx_第7页
第7页 / 共11页
Android网络库sdk开发经验分享.docx_第8页
第8页 / 共11页
Android网络库sdk开发经验分享.docx_第9页
第9页 / 共11页
Android网络库sdk开发经验分享.docx_第10页
第10页 / 共11页
Android网络库sdk开发经验分享.docx_第11页
第11页 / 共11页
亲,该文档总共11页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

Android网络库sdk开发经验分享.docx

《Android网络库sdk开发经验分享.docx》由会员分享,可在线阅读,更多相关《Android网络库sdk开发经验分享.docx(11页珍藏版)》请在冰点文库上搜索。

Android网络库sdk开发经验分享.docx

Android网络库sdk开发经验分享

Android网络库sdk开发经验分享

E_NET_CHECK_SDKKEY_NET_ERROR

初始化失败,原因是校验sdkkey有效性时发生网络错误,请确认网络正常并重新尝试初始化

回调函数用于通知java层一些重要事件的发生,函数说明如下

参数名

类型

说明

id

int

事件

result

int

事件结果或原因,xxx表示该事件result这个字段无含义

buf

String

事件附带的信息,NULL表示无附加信息,一般为任务hash,表示该事件是发生在某个任务上

具体回调事件如下

id

result

buf

说明

0

xxx

40字节的hash

任务已缓存完成

2

xxx

40字节的hash

缓存目录没空间了,网络模块会暂停该任务,请释放空间后重新开始任务

3

xxx

40字节的hash

链接失效了,网络模块会暂停该任务,请重新获取视频链接后CreateTask并RunTask

4

端口号

NULL

本地http代理端口

1、创建在线视频任务

StringstrOrlUrl=newString("

StringstrKeyUrl=newString("

bytehashArray[]=newbyte[41];

intret=Yfnet.CreateTask(strOrlUrl,strKeyUrl,hashArray);

if(Yfnet.E_NET_OK==ret||Yfnet.E_NET_TASK_FINISH==ret)

{

//任务创建成功或者任务已经缓存完

StringstrHash=newString(hashArray);

//设置任务为播放状态

Yfnet.SetPlayingStatus(strHash,true);

//设置任务为运行状态

Yfnet.RunTask(strHash);

}

CreateTask创建一个视频任务记录,并在参数中返回40字节的hash,作为任务的索引;创建成功后SetPlayingStatus设置任务为播放状态并RunTask设置任务开始缓存,其参数都为CreateTask成功后得到的hash,下面对函数具体说明。

CreateTask

参数名

类型

说明

strOrgUrl

String

在线视频的链接,可直接用来http下载文件的url,域名必须是向云帆申请sdk时提交的网站域名或该域名的子域名。

strKeyUrl

String

标识视频唯一性的字符串,用于判断数据内容是否相同(注:

不同清晰度的同个视频keyurl不同,因为数据内容不同),是p2p的关键参数,keyurl的结构为http:

//网站域名/视频唯一标识。

网站域名:

指的是向云帆申请sdk时提交的网站域名;

视频唯一标识:

根据视频网站自身的情况来获取,下面举几个例子,但不限于这些例子。

例一:

从strOrgUrl中提取固定不变的部分作为视频唯一标识,以芒果tv为例,去掉时效性的变量,留下代表视频的url路径

例二:

若不同视频文件名都唯一,则可以视频文件名作为视频唯一标识

若不同清晰度的相同视频文件名一样,则再加上清晰度标识,如

标清为

高清为

例三:

若不同视频都有对应的唯一videoid,则可以videoid作为视频唯一标识

若不同清晰度的相同视频videoid一样,则再加上清晰度标识,如

标清为

高清为

hashArray

byte[]

40字节的字符串,创建任务后对任务的操作都以该值作为索引

CreateTask返回值及含义

E_NET_OK

创建任务成功

E_NET_TASK_FINISH

创建任务成功,且已经缓存完成

E_NET_ERROR_PARA

参数不合法,参数为空或不是http链接

E_NET_NO_INIT

sdk未初始化

E_NET_URL_NOT_MATCH_DOMAIN

strOrgUrl域名不包含申请sdk时提交的域名或strKeyUrl域名和申请sdk时提交的域名不一致

SetPlayingStatus

参数名

类型

说明

strHash

String

40字节的字符串,要设置的任务

status

boolean

true为播放状态,false为非播放状态

SetPlayingStatus返回值及含义

E_NET_OK

设置成功

E_NET_ERROR_PARA

参数不合法,参数为空

E_NET_NO_INIT

sdk未初始化

E_NET_NO_TASK_BY_HASH

没有hash对应的任务

RunTask

参数名

类型

说明

strHash

String

40字节的字符串,要开始缓存的任务

RunTask返回值及含义

E_NET_OK

设置成功

E_NET_ERROR_PARA

参数不合法,参数为空

E_NET_NO_INIT

sdk未初始化

E_NET_NO_TASK_BY_HASH

没有hash对应的任务

2、组装本地http代理播放地址,传给播放器,播放器自动以http方式向sdk请求视频数据,实现播放。

播放地址的格式为http:

//127.0.0.1:

$(port)/yfhttpagent/$(hash),其中$(port)为sdk本地http代理端口,初始化时已通过回调通知app,$(hash)为视频任务的hash,创建任务后得到。

3、播放完、退出播放、退到后台或锁屏,需要暂停缓存任务并设置为非播放状态。

//设置任务为暂停缓存状态

Yfnet.PauseTask(strHash);

//设置任务为非播放状态

Yfnet.SetPlayingStatus(strHash,false);

PauseTask

参数名

类型

说明

strHash

String

40字节的字符串,要暂停缓存的任务

PauseTask返回值及含义

E_NET_OK

设置成功

E_NET_ERROR_PARA

参数不合法,参数为空

E_NET_NO_INIT

sdk未初始化

E_NET_NO_TASK_BY_HASH

没有hash对应的任务

4、退出程序时注销sdk,没有失败的情况。

Yfnet.Clear();

其他接口说明:

//删除指定任务及其缓存内容

Yfnet.DeleteTask(strHash);

DeleteTask:

删除指定任务及其缓存内容

参数名

类型

说明

strHash

String

40字节的字符串,要删除的任务

DeleteTask返回值及含义

E_NET_OK

删除成功

E_NET_ERROR_PARA

参数不合法,参数为空

E_NET_NO_INIT

sdk未初始化

E_NET_NO_TASK_BY_HASH

没有hash对应的任务

//删除所有任务及其缓存内容

Yfnet.CleanCache();

CleanCache:

删除所有任务及其缓存内容

CleanCache返回值及含义

E_NET_OK

删除成功

E_NET_NO_INIT

sdk未初始化

//允许p2p下载

Yfnet.EnableP2pDownload(true);

//禁止p2p下载

Yfnet.EnableP2pDownload(false);

EnableP2pDownload:

设置是否允许p2p下载

参数名

类型

说明

status

boolean

true为允许p2p下载,false为禁止p2p下载

EnableP2pDownload返回值及含义

E_NET_OK

设置成功

E_NET_NO_INIT

sdk未初始化

//允许p2p上传

Yfnet.EnableUpload(true);

//禁止p2p上传

Yfnet.EnableUpload(false);

EnableUpload:

设置是否允许p2p上传

参数名

类型

说明

status

boolean

true为允许p2p上传,false为禁止p2p上传

EnableUpload返回值及含义

E_NET_OK

设置成功

E_NET_NO_INIT

sdk未初始化

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2