public class QHVCNet
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
QHVCNet.QHVCNetCachedSize |
static interface |
QHVCNet.QHVCNetCachePersistenceCallback
持久化任务回调
|
static interface |
QHVCNet.QHVCNetConnectServiceType
长连类型
|
static interface |
QHVCNet.Socks5HeaderCallback |
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
PARAM_ENABLE_DOWN_SSL_SO
初始化参数-是否自动下载ssl so 数据类型: Integer [可选设置] 默认 1
|
static int |
QHVC_NET_ACCESS_DENIED
持久化任务错误码-权限不足,访问被拒绝
|
static int |
QHVC_NET_FILE_INVALID
持久化任务错误码-持久化路径非法
|
static int |
QHVC_NET_FILE_IO_FAILED
持久化任务错误码-文件写入异常
|
static java.lang.String |
QHVC_NET_KEY_OPTION_OPEN_LOCALSERVER
getPlayUrl(java.lang.String, java.lang.String)
Boolean 是否开启localserver 默认使用云控配置 |
static java.lang.String |
QHVC_NET_KEY_OPTION_OPEN_P2P
getPlayUrl(java.lang.String, java.lang.String)
Boolean 是否开启p2p 默认使用云控配置 |
static java.lang.String |
QHVC_NET_KEY_OPTION_P2P_TASK_MODE
getPlayUrl(java.lang.String, java.lang.String)
Integer p2p任务模式 默认播放 #QHVC_NET_P2P_TASK_MODE_DOWNLAOD |
static int |
QHVC_NET_LOG_LEVEL_DEBUG |
static int |
QHVC_NET_LOG_LEVEL_FATAL |
static int |
QHVC_NET_LOG_LEVEL_INFO |
static int |
QHVC_NET_LOG_LEVEL_NONE |
static int |
QHVC_NET_LOG_LEVEL_WARN |
static int |
QHVC_NET_NO_SPACE
持久化任务错误码-磁盘空间不足
|
static int |
QHVC_NET_NOT_VIDEO
持久化任务错误码-非视频文件
|
static int |
QHVC_NET_P2P_TASK_MODE_DOWNLAOD
p2p任务模式: 下载模式
|
static int |
QHVC_NET_P2P_TASK_MODE_PLAY
p2p任务模式: 播放模式
|
static java.lang.String |
QHVC_NET_PARAM_CACHE_SIZE
初始化参数-缓存占用空间大小,单位MB
[可选设置] 注:如果调用 #setCacheSize(int) 修改默认缓存占用空间大小,必须在初始化时也设置一次 |
static java.lang.String |
QHVC_NET_PARAM_CHANNEL_ID
初始化参数-channelId 数据类型: String [当使用p2p时,必须设置]
|
static java.lang.String |
QHVC_NET_PARAM_FORCE_P2P
初始化参数-是否强制p2p 数据类型: Boolean [可选设置]
|
static java.lang.String |
QHVC_NET_PARAM_USE_INTERNAL_SIGNALING
初始化参数-是否禁用内部信令通道 数据类型: Integer [可选设置]
|
static int |
QHVCNET_CONNECT_SERVICE_TYPE_EXTERNAL |
static int |
QHVCNET_CONNECT_SERVICE_TYPE_MQTT |
static int |
QHVCNET_CONNECT_SERVICE_TYPE_TRACKER |
Constructor and Description |
---|
QHVCNet() |
Modifier and Type | Method and Description |
---|---|
static boolean |
cachePersistence(java.lang.String rid,
java.lang.String url,
java.lang.String path)
对某个缓存开始持久化任务
|
static boolean |
cancelCachePersistence(java.lang.String rid,
boolean deleteFile)
取消对某个缓存的持久化任务
|
static void |
cancelP2pTask(java.lang.String proxyUrl)
取消p2p任务
|
static boolean |
cancelPrecache(java.lang.String rid)
取消预缓存任务
|
static void |
clearCache()
清除缓存空间(当前播放的任务不会清除)
|
static void |
clearP2PCache()
清空P2P的缓冲
|
static boolean |
doPrecache(java.lang.String rid,
java.lang.String url,
int preCacheSize)
添加预缓存任务
|
static boolean |
doPrecache(java.lang.String rid,
java.lang.String url,
int preCacheSize,
java.lang.String socks5ProxyIp,
int socks5ProxyPort,
java.lang.String socks5ProxyHeader)
添加预缓存任务,支持socks5代理
|
static void |
enableCache(boolean enableCache)
允许或禁止QHVCNet所有访问网络主动拉取数据的行为
|
static void |
enablePrecacheInMobileNetwork(boolean enable)
非WIFI网络下是否允许预缓存,默认关闭,防止偷跑流量
|
static boolean |
getCachePersistenceSize(java.lang.String rid,
QHVCNet.QHVCNetCachedSize qhvcNetCachedSize)
查询某个持久化任务已完成的数据量以及总数据量
|
static int |
getFileAvailedSize(java.lang.String rid,
java.lang.String url,
int currentPosition,
int total)
查询指定的缓存在给定播放时间点后连续可用的播放时长
|
static boolean |
getFileCachedSize(java.lang.String rid,
java.lang.String url,
QHVCNet.QHVCNetCachedSize qhvcNetCachedSize)
查询指定的缓存已完成的数据量以及总数据量
|
static int |
getP2pTaskInfo(java.lang.String playUrl,
com.qihoo.videocloud.p2p.P2PServerHelper.TaskInfo tackInfo) |
static java.lang.String |
getP2pVendorByUrl(java.lang.String playUrl) |
static java.lang.String |
getPlayUrl(java.lang.String rid,
java.lang.String originUrl)
获取走QHVCNet播放的链接
根据云控配置,可能返回本地缓存地址、p2p地址、本地缓存与p2p组合地址
如果开启p2p, 需要在a项目中包含qhvc_p2pserver_sdk.jar
|
static java.lang.String |
getPlayUrl(java.lang.String rid,
java.lang.String originUrl,
java.util.Map<java.lang.String,java.lang.Object> options)
获取走QHVCNet播放的链接
根据云控配置,可能返回本地缓存地址、p2p地址、本地缓存与p2p组合地址
如果开启p2p, 需要在a项目中包含qhvc_p2pserver_sdk.jar
|
static java.lang.String |
getPlayUrl(java.lang.String rid,
java.lang.String originUrl,
java.lang.String socks5ProxyIp,
int socks5ProxyPort,
java.lang.String socks5ProxyHeader)
获取走QHVCNet播放的链接,支持socks5代理
启用socks5代理,就不再考虑p2p地址和localserver地址组合使用
|
static java.lang.String |
getVersion()
获取SDK版本号
|
static boolean |
isCacheFinished(java.lang.String rid,
java.lang.String url)
查询指定的缓存是否完成
|
static boolean |
isCachePersistenceFinished(java.lang.String rid) |
static boolean |
isEnableCache()
是否允许QHVCNet所有访问网络主动拉取数据的行为
|
static boolean |
isEnablePrecacheInMobileNetwork()
非WIFI网络下是否允许预缓存
|
static boolean |
isStartLocalServer()
是否已初始化
|
static boolean |
pauseCachePersistence(java.lang.String rid)
暂停对某个缓存的持久化任务
|
static boolean |
rebuildPersistence(java.lang.String rid,
java.lang.String url,
java.lang.String path)
重建某个缓存的持久化任务
|
static boolean |
resumeCachePersistence(java.lang.String rid)
恢复对某个缓存的持久化任务
|
static void |
setCachePersistenceCallback(QHVCNet.QHVCNetCachePersistenceCallback callback)
设置持久化回调函数
|
static boolean |
setCacheSize(int cacheSize)
设置和调整缓存占用空间大小。这个接口可以中途调用,可以调用多次。
|
static void |
setLogLevel(int logLevel)
Deprecated.
|
static void |
setP2PCacheDir(java.lang.String cacheDir)
设置P2P缓冲路径
|
static void |
setP2PCacheSize(int cacheSize)
设置P2P缓冲的大小
|
static void |
setSocks5HeaderCallBack(QHVCNet.Socks5HeaderCallback callBack) |
static boolean |
startLocalServer(Context context,
java.lang.String cacheDir,
java.lang.String deviceId,
java.lang.String businessId,
java.util.Map<java.lang.String,java.lang.Object> params)
Deprecated.
|
static boolean |
startService(Context context,
java.lang.String cacheDir,
java.lang.String deviceId,
java.lang.String businessId,
java.util.Map<java.lang.String,java.lang.Object> params)
初始化QHVCNet,全局只用调用一次,需要和
stopService() 配对使用 |
static void |
stopLocalServer()
Deprecated.
|
static void |
stopService()
|
public static final int QHVC_NET_LOG_LEVEL_NONE
public static final int QHVC_NET_LOG_LEVEL_FATAL
public static final int QHVC_NET_LOG_LEVEL_WARN
public static final int QHVC_NET_LOG_LEVEL_INFO
public static final int QHVC_NET_LOG_LEVEL_DEBUG
public static final int QHVC_NET_P2P_TASK_MODE_PLAY
public static final int QHVC_NET_P2P_TASK_MODE_DOWNLAOD
public static final java.lang.String QHVC_NET_KEY_OPTION_OPEN_P2P
getPlayUrl(java.lang.String, java.lang.String)
Boolean
是否开启p2p 默认使用云控配置public static final java.lang.String QHVC_NET_KEY_OPTION_P2P_TASK_MODE
getPlayUrl(java.lang.String, java.lang.String)
Integer
p2p任务模式 默认播放 #QHVC_NET_P2P_TASK_MODE_DOWNLAOD
public static final java.lang.String QHVC_NET_KEY_OPTION_OPEN_LOCALSERVER
getPlayUrl(java.lang.String, java.lang.String)
Boolean
是否开启localserver 默认使用云控配置public static final int QHVCNET_CONNECT_SERVICE_TYPE_EXTERNAL
public static final int QHVCNET_CONNECT_SERVICE_TYPE_MQTT
public static final int QHVCNET_CONNECT_SERVICE_TYPE_TRACKER
public static final java.lang.String QHVC_NET_PARAM_CACHE_SIZE
#setCacheSize(int)
修改默认缓存占用空间大小,必须在初始化时也设置一次public static final java.lang.String QHVC_NET_PARAM_FORCE_P2P
public static final java.lang.String QHVC_NET_PARAM_CHANNEL_ID
public static final java.lang.String PARAM_ENABLE_DOWN_SSL_SO
public static final java.lang.String QHVC_NET_PARAM_USE_INTERNAL_SIGNALING
public static final int QHVC_NET_NOT_VIDEO
public static final int QHVC_NET_FILE_IO_FAILED
public static final int QHVC_NET_FILE_INVALID
public static final int QHVC_NET_ACCESS_DENIED
public static final int QHVC_NET_NO_SPACE
@Deprecated public static boolean startLocalServer(Context context, java.lang.String cacheDir, java.lang.String deviceId, java.lang.String businessId, java.util.Map<java.lang.String,java.lang.Object> params)
context
- cacheDir
- deviceId
- businessId
- params
- public static boolean startService(Context context, java.lang.String cacheDir, java.lang.String deviceId, java.lang.String businessId, java.util.Map<java.lang.String,java.lang.Object> params)
stopService()
配对使用context
- contextcacheDir
- 缓存目录,要保证是一个当前存在且有读写权限的文件夹deviceId
- 设备Id,统计上报会带上,追查问题用businessId
- 业务IDparams
- 可选参数,可传空。参数列表:QHVC_NET_PARAM_CACHE_SIZE
缓存占用空间大小,单位MB QHVC_NET_PARAM_FORCE_P2P
是否强制p2p 数据类型: Boolean QHVC_NET_PARAM_CHANNEL_ID
channelId 数据类型: String [当使用p2p时,必须设置]public static boolean isStartLocalServer()
@Deprecated public static void stopLocalServer()
stopService()
来替代。public static void stopService()
public static java.lang.String getVersion()
@Deprecated public static void setLogLevel(int logLevel)
logLevel
- 日志级别, 取值QHVC_NET_LOG_LEVEL_NONE
, QHVC_NET_LOG_LEVEL_FATAL
, QHVC_NET_LOG_LEVEL_WARN
, QHVC_NET_LOG_LEVEL_INFO
, QHVC_NET_LOG_LEVEL_DEBUG
public static boolean setCacheSize(int cacheSize)
cacheSize
- 缓存空间的大小,单位MBytespublic static void clearCache()
public static java.lang.String getPlayUrl(java.lang.String rid, java.lang.String originUrl)
rid
- 资源的唯一标识,由于url在加防盗链时是可变的,所以需要一个唯一标识来匹配缓存文件originUrl
- 资源的链接public static void setSocks5HeaderCallBack(QHVCNet.Socks5HeaderCallback callBack)
public static java.lang.String getPlayUrl(java.lang.String rid, java.lang.String originUrl, java.lang.String socks5ProxyIp, int socks5ProxyPort, java.lang.String socks5ProxyHeader)
rid
- 资源的唯一标识,由于url在加防盗链时是可变的,所以需要一个唯一标识来匹配缓存文件originUrl
- 资源的链接socks5ProxyIp
- socks5代理服务器ip地址socks5ProxyPort
- socks5代理服务器端口号socks5ProxyHeader
- socks5代理服务器自定义header,用于代理服务器鉴权,格式样例 key1: valule1 \r\nkey2: valule2 \r\npublic static java.lang.String getPlayUrl(java.lang.String rid, java.lang.String originUrl, java.util.Map<java.lang.String,java.lang.Object> options)
rid
- 资源的唯一标识,由于url在加防盗链时是可变的,所以需要一个唯一标识来匹配缓存文件originUrl
- 资源的链接options
- 可选属性 QHVCNetOptionKey
public static boolean doPrecache(java.lang.String rid, java.lang.String url, int preCacheSize)
rid
- 资源的唯一标识,由于url在加防盗链时是可变的,所以需要一个唯一标识来匹配缓存文件url
- 资源的链接preCacheSize
- 预缓存多少的数据量,单位KBpublic static boolean doPrecache(java.lang.String rid, java.lang.String url, int preCacheSize, java.lang.String socks5ProxyIp, int socks5ProxyPort, java.lang.String socks5ProxyHeader)
rid
- 资源的唯一标识,由于url在加防盗链时是可变的,所以需要一个唯一标识来匹配缓存文件url
- 资源的链接preCacheSize
- 预缓存多少的数据量,单位KBsocks5ProxyIp
- socks5代理服务器ip地址socks5ProxyPort
- socks5代理服务器端口号socks5ProxyHeader
- socks5代理服务器自定义header,用于代理服务器鉴权,格式样例 key1: valule1 \r\nkey2: valule2 \r\npublic static boolean cancelPrecache(java.lang.String rid)
rid
- 资源的唯一标识,由于url在加防盗链时是可变的,所以需要一个唯一标识来匹配缓存文件public static boolean getFileCachedSize(java.lang.String rid, java.lang.String url, QHVCNet.QHVCNetCachedSize qhvcNetCachedSize)
rid
- 资源的唯一标识,由于url在加防盗链时是可变的,所以需要一个唯一标识来匹配缓存文件url
- 资源的链接qhvcNetCachedSize
- 缓存的文件大小public static boolean isCacheFinished(java.lang.String rid, java.lang.String url)
rid
- 资源的唯一标识,由于url在加防盗链时是可变的,所以需要一个唯一标识来匹配缓存文件url
- 资源的链接public static int getFileAvailedSize(java.lang.String rid, java.lang.String url, int currentPosition, int total)
rid
- 资源的唯一标识,由于url在加防盗链时是可变的,所以需要一个唯一标识来匹配缓存文件url
- 资源的链接currentPosition
- 播放器当前播放时间点total
- 播放器播放总时长public static void setCachePersistenceCallback(QHVCNet.QHVCNetCachePersistenceCallback callback)
callback
- 缓存持久化完成的回调函数public static boolean rebuildPersistence(java.lang.String rid, java.lang.String url, java.lang.String path)
rid
- 资源的唯一标识,由于url在加防盗链时是可变的,所以需要一个唯一标识来匹配缓存文件url
- 资源的链接path
- 持久化磁盘路径public static boolean cachePersistence(java.lang.String rid, java.lang.String url, java.lang.String path)
rid
- 资源的唯一标识,由于url在加防盗链时是可变的,所以需要一个唯一标识来匹配缓存文件url
- 资源的链接path
- 持久化磁盘路径public static boolean cancelCachePersistence(java.lang.String rid, boolean deleteFile)
rid
- 资源的唯一标识,由于url在加防盗链时是可变的,所以需要一个唯一标识来匹配缓存文件deleteFile
- 是否同时删除已持久化的文件public static boolean pauseCachePersistence(java.lang.String rid)
rid
- 资源的唯一标识,由于url在加防盗链时是可变的,所以需要一个唯一标识来匹配缓存文件public static boolean resumeCachePersistence(java.lang.String rid)
rid
- 资源的唯一标识,由于url在加防盗链时是可变的,所以需要一个唯一标识来匹配缓存文件public static boolean getCachePersistenceSize(java.lang.String rid, QHVCNet.QHVCNetCachedSize qhvcNetCachedSize)
rid
- 资源的唯一标识,由于url在加防盗链时是可变的,所以需要一个唯一标识来匹配缓存文件qhvcNetCachedSize
- 缓存的文件大小public static void enableCache(boolean enableCache)
enableCache
- true 允许,false 禁止public static boolean isEnableCache()
public static void enablePrecacheInMobileNetwork(boolean enable)
enable
- true 允许非WIFI网络下预缓存;false 不允许public static boolean isEnablePrecacheInMobileNetwork()
public static boolean isCachePersistenceFinished(java.lang.String rid)
public static void clearP2PCache()
public static void setP2PCacheSize(int cacheSize)
cacheSize
- 缓冲区大小, 单位MBpublic static void setP2PCacheDir(java.lang.String cacheDir)
cacheDir
- 缓冲路径public static void cancelP2pTask(java.lang.String proxyUrl)
proxyUrl
- 代理地址或原始地址public static java.lang.String getP2pVendorByUrl(java.lang.String playUrl)
public static int getP2pTaskInfo(java.lang.String playUrl, com.qihoo.videocloud.p2p.P2PServerHelper.TaskInfo tackInfo)