Android网络库sdk开发经验分享.docx
- 文档编号:9014431
- 上传时间:2023-05-16
- 格式:DOCX
- 页数:11
- 大小:84.98KB
Android网络库sdk开发经验分享.docx
《Android网络库sdk开发经验分享.docx》由会员分享,可在线阅读,更多相关《Android网络库sdk开发经验分享.docx(11页珍藏版)》请在冰点文库上搜索。
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未初始化
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Android 网络 sdk 开发 经验 分享