BK.QQAVManager 音视频管理

音视频对象为单例,本对象所有函数均为静态函数。

使用前预先调用BK.Script.loadlib('GameRes://script/core/basics/qav.js');

静态方法

initQAVRoom(cfg, callback)

初始化音视频
参数 类型 名称 备注
cfg Object 初始化参数 详情查看下方例子
callback Function 回调

例子

  1. var cfg = {
  2. sdkAppId: 1400035750, //对应的视频云服务器appid。
  3. accountType: 14181, //
  4. avRoomId: 122333, //厘米秀房间
  5. gameRoomId: 54321, //
  6. selfOpenId: GameStatusInfo.openId
  7. }
  8. BK.QQAVManager.initQAVRoom(cfg, function (initErrCode, initCmd, initData) {
  9. if (initErrCode == 0) {
  10. //初始化
  11. }
  12. });

enterQAVRoom(cfg, callback)

进入视频房间注意:调用此函数前需要调用initQAVRoom
参数 类型 名称 备注
cfg Object 初始化参数 详情查看下方例子
callback Function 回调

例子

  1. var cfg = {
  2. sdkAppId: 1400035750, //对应的视频云服务器appid。
  3. accountType: 14181, //
  4. avRoomId: 122333, //厘米秀房间
  5. gameRoomId: 54321, //
  6. selfOpenId: GameStatusInfo.openId
  7. }
  8. BK.QQAVManager.enterQAVRoom(cfg, function (errCode, cmd, data) {
  9. if (errCode == 0) {
  10. //加入成功
  11. }
  12. });

initAndEnterRoom(cfg, callback)

初始并加入房间
  1. var cfg = {
  2. sdkAppId: 1400035750, //对应的视频云服务器appid。
  3. accountType: 14181, //
  4. avRoomId: 122333, //厘米秀房间
  5. gameRoomId: 54321, //
  6. selfOpenId: GameStatusInfo.openId
  7. }
  8. BK.QQAVManager.initAndEnterRoom(cfg, function (initErrCode, initCmd, initData) {
  9. if (initErrCode == 0) {
  10. //初始化
  11. }
  12. });

exitRoom(callbck)

退房间
参数 类型 名称 备注
callback Function 回调

例子:

  1. BK.QQAVManager. exitRoom(cfg, function (errCode, cmd, data) {
  2. if (errCode == 0) {
  3. //退房间成功
  4. }
  5. });

setMic(sw, callback)

设置麦克风(默认关闭)
参数 类型 名称 备注
sw boolean 开关
callback Function 回调

例子:

  1. BK.QQAVManager.setMic(true, function (errCode, cmd, data) {
  2. BK.Script.log(1, 1, "BK.QQAVManager.setMic errCode:" + errCode + " cmd:" + cmd + " data:" + JSON.stringify(data));
  3. });

setSpeaker(sw, callback)

设置扬声器(默认关闭)
参数 类型 名称 备注
sw boolean 开关
callback Function 回调
  1. //扬声器
  2. BK.QQAVManager.setSpeaker(true, function (errCode, cmd, data) {
  3. if (errCode == 0) {
  4. BK.Script.log(0, 0, "enableCamera Succ");
  5. }
  6. else {
  7. BK.Script.log(0, 0, "enableCamera Failed");
  8. }
  9. BK.Script.log(1, 1, "BK.QQAVManager.setSpeaker errCode:" + errCode + " cmd:" + cmd + " data:" + JSON.stringify(data));
  10. });

switchCamera(cameraPos, callback);

切换摄像头切换先需要启动相机
参数 类型 名称 备注
cameraPos number 相机位置 0前置,1后置
callback Function 回调

例子

  1. BK.QQAVManager.switchCamera(0, function (errCode, cmd, data) {
  2. BK.Script.log(1, 1, "BK.QQAVManager.switchCamera errCode:" + errCode + " cmd:" + cmd + " data:" + JSON.stringify(data));
  3. });

enableCamera(enable, callback);

启动相机
参数 类型 名称 备注
sw boolean 开关
callback Function 回调

例子:

  1. //启动相机
  2. BK.QQAVManager.enableCamera(true, function (err, cmd, data) {
  3. if (err == 0) {
  4. BK.Script.log(0, 0, "enableCamera Succ");
  5. }
  6. else {
  7. BK.Script.log(0, 0, "enableCamera Failed");
  8. }
  9. });

setBeauty(beauty)

设置美颜
参数 类型 名称 备注
beauty number 美颜值 0-10, 0为不美颜(默认),10最高

例子:

  1. BK.QQAVManager.setBeauty(8);

setLocalVideo(sw);

使能本地信号发送开关置为true时,他人才能接收到本人的视频信号
参数 类型 名称 备注
sw boolean 开关

例子:

BK.QQAVManager.setLocalVideo(true);

setRemoteVideo(sw)

远端信号开关
参数 类型 名称 备注
sw boolean 开关

watchRemoteVideo(openIdList);

请求接受远端数据信号调用此函数需调用BK.QQAVManager.setRemoteVideo(true);
参数 类型 名称 备注
openIdList Array 需要接受的信号对应的identity

例子:

  1. //请求接受某个玩家的信号(openId),一个某个设备的信号(deviceIdentifier)
  2. var openId = "012345678901234567890123456789AB"
  3. vard deviceIdentifier ="ASJDINCIAHSEQWE";
  4. var idList = [openId, deviceIdentifier];
  5. BK.QQAVManager.watchRemoteVideo(idList);

changeQAVRole(role, callback)

切换角色|参数|类型|名称|备注|——-|openIdList|Array|需要接受的信号对应的identity|

isFrontCamera();

是否前置摄像头

参数:无

返回值:

类型 名称 备注
boolean 当前是否前置摄像头

例子:

var isFront = BK.QQAVManager.isFrontCamera()

原文: https://hudong.qq.com/docs/engine/api/BK.QQAVManager.html