Class IYYVideo
Extends
IYYCommon.
提供视频直播相关功能,所有方法需要调用lock后才能使用。应用需要认证才能使用视频功能,具体请联系YY开放平台。
Defined in: yyapi.js.
Constructor Attributes | Constructor Name and Description |
---|---|
IYYVideo()
IYYVideo 构造函数。
|
Field Attributes | Field Name and Description |
---|---|
<static> |
IYYVideo.CAMERA_STATUS
摄像头状态变化事件。通知主播摄像头状态发生变化。
|
<static> |
IYYVideo.ConfigAttr
视频编码属性。
|
<static> |
IYYVideo.PictureRatioAttr
画面比例常量值。
|
<static> |
IYYVideo.PUBLISH_STATUS
主播直播结果事件。主播开始直播后,根据此事件判断直播是否是成功的。
|
<static> |
IYYVideo.QualityDelayMode
画质/延时模式常量值。
|
<static> |
IYYVideo.RatioAttr
视频分辨率常量值。
|
<static> |
IYYVideo.SUBSCRIBE_STATUS
主播直播状态变化事件。当当前子频道有主播直播状态发生变化会触发,即主播开始直播或者结束直播的时候都会通知子频道中侦听此事件的用户。
|
Method Attributes | Method Name and Description |
---|---|
获取当前计算机摄像头名称列表。
|
|
获取当前子频道的正在直播的主播列表。
|
|
lock()
锁定视频直播。锁定后才能调用视频直播的其他API,同时当前YY的其他应用无法调用视频直播。
|
|
setProperty(key, value)
设置发起直播时的视频属性。启用重新开始直播才生效。
|
|
设置直播的视频分辨率为480x360,需要重新开始直播才生效。
|
|
设置直播的视频分辨率为640x480,需要重新开始直播才生效。
|
|
setPublishVideoWindowPosition(x, y, width, height)
调整主播直播视频窗口的大小和位置。
|
|
setSubscribeVideoWindowPosition(x, y, width, height, uid)
调整指定主播的视频订阅窗口的大小和位置。订阅多个视频的时候,可以对指定主播的视频窗口进行单独调整。
|
|
setVideoWindowPosition(x, y, width, height)
调整视频窗口的大小和位置。
|
|
startPublish(cameraIndex)
开始视频直播。缺省的分辨率360x240
|
|
startSubscribeVideo(uid)
开始视频订阅,即收看指定主播的直播。如果已经订阅了一个直播,需要先停止后才能订阅新的直播。
|
|
结束视频直播。
|
|
stopSubscribeVideo(uid)
停止视频订阅,即关闭正在收看的视频。有效的主播uid才能停止订阅。
|
|
unlock()
解锁视频直播,使其他应用可以使用摄像头视频。所有参数(例如直播分辨率)变为缺省值。
|
- Methods borrowed from class IYYCommon:
- addEventListener, removeEventListener
Field Detail
<static>
IYYVideo.CAMERA_STATUS
摄像头状态变化事件。通知主播摄像头状态发生变化。
侦听函数格式: function(eventData){ } eventData.status: Number类型 摄像头状态 0=摄像头就绪,1=摄像头就绪暂不可用(被别的程序占用),2=摄像头无法支持
使用示例: yy.video.addEventListener(IYYVideo.CAMERA_STATUS,onCameraChange); function onCameraChange(eventData) { document.getElementById("txtLog").innerHTML=(eventData.status==0)?"摄像头正常":"摄像头失效"; }
<static>
IYYVideo.ConfigAttr
视频编码属性。
IYYVideo.ConfigAttr.RESOLUTION_PID 4 分辨率 IYYVideo.ConfigAttr.TRY_USING_2_THREAD_PID 5 是否开启双线程,值为布尔值 IYYVideo.ConfigAttr.CUR_BITRATE_LD_PID 7 当前码率 IYYVideo.ConfigAttr.MIN_BITRATE_LD_PID 8 码率最小值 IYYVideo.ConfigAttr.MAX_BITRATE_LD_PID 9 码率最大值 IYYVideo.ConfigAttr.ENC_PICTURE_RATIO_PID 17 编码画面比例 IYYVideo.ConfigAttr.QUALITY_DELAY_MODE_PID 18 画质/延时模式选择
<static>
IYYVideo.PictureRatioAttr
画面比例常量值。
IYYVideo.PictureRatioAttr.RESOLUTION_RATIO_4x3 1 按4:3比例
<static>
IYYVideo.PUBLISH_STATUS
主播直播结果事件。主播开始直播后,根据此事件判断直播是否是成功的。
侦听函数格式: function(eventData){ } eventData.status: Number类型 直播结果 0=成功开始直播,1=直播失败
使用示例: yy.video.addEventListener(IYYVideo.PUBLISH_STATUS,onPublishChange); function onPublishChange(eventData) { document.getElementById("txtLog").innerHTML=eventData.status==0?"成功开始直播":"直播未成功"; }
<static>
IYYVideo.QualityDelayMode
画质/延时模式常量值。
IYYVideo.QualityDelayMode.HIGHT_QUALITY_MODE 1 高质模式
<static>
IYYVideo.RatioAttr
视频分辨率常量值。
IYYVideo.RatioAtrr.RATIO_TRY_640x480 0 640x480分辨率 IYYVideo.RatioAttr.RATIO_TRY_480x360 6 480x360分辨率
<static>
IYYVideo.SUBSCRIBE_STATUS
主播直播状态变化事件。当当前子频道有主播直播状态发生变化会触发,即主播开始直播或者结束直播的时候都会通知子频道中侦听此事件的用户。
侦听函数格式: function(eventData){ } eventData.uid: Number类型 直播状态发生变化的主播的uid。 eventData.status: Number类型 主播状态 0=主播开始直播,1=主播结束直播
使用示例: yy.video.addEventListener(IYYVideo.SUBSCRIBE_STATUS,onSubscribeChange); function onSubscribeChange(eventData) { document.getElementById("txtLog").innerHTML="主播"+eventData.uid+(eventData.status==0?"开始直播了":"停止直播了"); }
Method Detail
{Object}
getCameraList()
获取当前计算机摄像头名称列表。
使用示例: var result = yy.video.getCameraList(); if(result.ret==0) { document.getElementById("txtLog").innerHTML = "本机摄像头为:" + result.cameras; } 成功的返回值示例:{ ret:0,cameras:["camera1","camera2"]} 失败的返回值示例:{ ret:984832}
- Returns:
- 返回摄像头列表,具体属性如下。
ret: Number类型 返回码 0=成功,非0值失败,具体请参考错误代码。
cameras: Array类型 摄像头名称列表。
{Object}
getPublishUsers()
获取当前子频道的正在直播的主播列表。
使用示例: var result = yy.video.getPublishUsers(); if(result.ret==0) { document.getElementById("txtLog").innerHTML = "正在直播的主播有:" + result.publishList; } 成功的返回值示例:{ ret:0,publishList:[909011223,909085545]} 失败的返回值示例:{ ret:984832}
- Returns:
- 返回主播uid列表,具体属性如下。
ret: Number类型 返回码 0=成功,非0值失败,具体请参考错误代码。
publishList: Array类型 主播uid列表。
{Object}
lock()
锁定视频直播。锁定后才能调用视频直播的其他API,同时当前YY的其他应用无法调用视频直播。
- Returns:
- 返回调用是否成功,具体属性如下。
ret: Number类型 返回码 0=成功,非0值失败,具体请参考错误代码。
{Object}
setProperty(key, value)
设置发起直播时的视频属性。启用重新开始直播才生效。
- Parameters:
- {Number} key
- 视频属性Id。
- {Number} value
- 属性值。
- Returns:
- 返回调用是否成功,具体属性如下。
ret: Number类型 返回码 0=成功,非0值失败,具体请参考错误代码。
{Object}
setPublishVideo_480x360()
设置直播的视频分辨率为480x360,需要重新开始直播才生效。
- Returns:
- 返回调用是否成功,具体属性如下。
ret: Number类型 返回码 0=成功,非0值失败,具体请参考错误代码。
{Object}
setPublishVideo_640x480()
设置直播的视频分辨率为640x480,需要重新开始直播才生效。
- Returns:
- 返回调用是否成功,具体属性如下。
ret: Number类型 返回码 0=成功,非0值失败,具体请参考错误代码。
{Object}
setPublishVideoWindowPosition(x, y, width, height)
调整主播直播视频窗口的大小和位置。
- Parameters:
- {Number} x
- 指定窗口位置的x值 。
- {Number} y
- 指定窗口位置的y值 。
- {Number} width
- 指定窗口的宽度 。
- {Number} height
- 指定窗口的高度 。
- Returns:
- 返回调用是否成功,具体属性如下。
ret: Number类型 返回码 0=成功,非0值失败,具体请参考错误代码。
{Object}
setSubscribeVideoWindowPosition(x, y, width, height, uid)
调整指定主播的视频订阅窗口的大小和位置。订阅多个视频的时候,可以对指定主播的视频窗口进行单独调整。
- Parameters:
- {Number} x
- 指定窗口位置的x值 。
- {Number} y
- 指定窗口位置的y值 。
- {Number} width
- 指定窗口的宽度 。
- {Number} height
- 指定窗口的高度 。
- {Number} uid
- 指定主播的uid 。
- Returns:
- 返回调用是否成功,具体属性如下。
ret: Number类型 返回码 0=成功,非0值失败,具体请参考错误代码。
{Object}
setVideoWindowPosition(x, y, width, height)
调整视频窗口的大小和位置。
- Parameters:
- {Number} x
- 指定窗口位置的x值 。
- {Number} y
- 指定窗口位置的y值 。
- {Number} width
- 指定窗口的宽度 。
- {Number} height
- 指定窗口的高度 。
- Returns:
- 返回调用是否成功,具体属性如下。
ret: Number类型 返回码 0=成功,非0值失败,具体请参考错误代码。
{Object}
startPublish(cameraIndex)
开始视频直播。缺省的分辨率360x240
- Parameters:
- {Number} cameraIndex
- 视频摄像头的索引。索引必须是有效的非负整数,如果计算机上有多个摄像头,索引分别为0,1,2...以此类推。
- Returns:
- 返回调用是否成功,具体属性如下。
ret: Number类型 返回码 0=成功,非0值失败,具体请参考错误代码。
- See:
- #setVideoWindow_640x480 #setVideoWindow_480x360
{Object}
startSubscribeVideo(uid)
开始视频订阅,即收看指定主播的直播。如果已经订阅了一个直播,需要先停止后才能订阅新的直播。
- Parameters:
- {Number} uid
- 主播的uid,主播即开播视频直播的人,getPublishUsers以获取当前正在直播的主播。
- Returns:
- 返回调用是否成功,具体属性如下。
ret: Number类型 返回码 0=成功,非0值失败,具体请参考错误代码。
- See:
- #stopSubscribeVideo #getPublishUsers
{Object}
stopPublish()
结束视频直播。
- Returns:
- 返回调用是否成功,具体属性如下。
ret: Number类型 返回码 0=成功,非0值失败,具体请参考错误代码。
{Object}
stopSubscribeVideo(uid)
停止视频订阅,即关闭正在收看的视频。有效的主播uid才能停止订阅。
- Parameters:
- {Number} uid
- 要停止订阅的主播的uid,主播即开播视频直播的人,getPublishUsers以获取当前正在直播的主播。
- Returns:
- 返回调用是否成功,具体属性如下。
ret: Number类型 返回码 0=成功,非0值失败,具体请参考错误代码。
- See:
- #startSubscribeVideo #getPublishUsers
{Object}
unlock()
解锁视频直播,使其他应用可以使用摄像头视频。所有参数(例如直播分辨率)变为缺省值。
- Returns:
- 返回调用是否成功,具体属性如下。
ret: Number类型 返回码 0=成功,非0值失败,具体请参考错误代码。