设备(Device)API接口
设备API,主要涉及设备相关的控制,通过API,您可以实现摄像头开关/麦克风开关/摄像头PTZ控制/测试扬声器、麦克风/获取设备信息 等功能。
1. 查询设备信息 (Query Device)
1.1 查询设备所有信息
接口说明
1)接口解释:用于查询设备模块的相关信息
2)引入版本: 3.8.10
3)调用方式(method):Query
4)调用结果:同步返回调用结果
输入参数(params)
参数名称 | 是否必选 | 参数类型 | 参数描述 |
---|---|---|---|
path | 是 | array | 模块名 |
输出参数(data)
参数名称 | 参数类型 | 参数描述 |
---|---|---|
device_info | object | 设备信息 |
mic_info | object | 麦克风信息,详见麦克风信息表 |
speaker_info | object | 扬声器信息,详见扬声器表 |
camera_info | object | 摄像头信息,详见扬声器表 |
ptz_info | object | ptz控制信息,详见ptz控制表 |
麦克风信息表(mic_info)
参数名称 | 参数类型 | 参数描述 |
---|---|---|
switch | bool | 是否开启麦克风: |
device_id | string | 麦克风名称 |
volume | int | 音量 |
扬声器信息表(speaker_info)
参数名称 | 参数类型 | 参数描述 |
---|---|---|
switch | bool | 是否开启扬声器: |
device_id | string | 扬声器名称 |
volume | int | 音量 |
摄像头信息表(camera_info)
参数名称 | 参数类型 | 参数描述 |
---|---|---|
camera_frame_mode | object | 当前摄像头ptz模式表 |
switch | bool | 是否开启摄像头: |
device_id | string | 摄像头名称 |
当前摄像头ptz模式表(camera_frame_mode)
参数名称 | 参数类型 | 参数描述 |
---|---|---|
mode | int | 当前摄像头ptz模式表: |
name | string | 模式名称 |
ptz控制表(ptz_info)
参数名称 | 参数类型 | 参数描述 |
---|---|---|
support | bool | 是否支持ptz: |
zoom | object | ptz支持放大缩小表 |
pan | object | ptz支持左右移动表 |
tilt | object | ptz支持上下移动表 |
device_id | string | 当前使用的摄像头编号 |
device_list | array | 可用的摄像头列表 |
device_sdk_list | array | 系统支持sdk控制摄像头列表 |
ptz支持放大缩小表(zoom)
参数名称 | 参数类型 | 参数描述 |
---|---|---|
support | bool | 是否支持放大缩小: |
ptz支持左右移动表(zoom)
参数名称 | 参数类型 | 参数描述 |
---|---|---|
support | bool | 是否支持左右移动: |
ptz支持上下移动表(tilt)
参数名称 | 参数类型 | 参数描述 |
---|---|---|
support | bool | 是否支持上下移动: |
麦克风列表(mic_list)
参数名称 | 参数类型 | 参数描述 |
---|---|---|
device_id | string | 麦克风编号 |
is_default | bool | 是否当前麦克风: |
volume | int | 音量 |
扬声器列表(speaker_list)
参数名称 | 参数类型 | 参数描述 |
---|---|---|
device_id | string | 扬声器名称 |
is_default | bool | 是否当前麦克风: |
volume | int | 音量 |
摄像头列表(camera_list)
参数名称 | 参数类型 | 参数描述 |
---|---|---|
device_id | string | 摄像头名称 |
is_default | bool | 是否当前摄像头: |
系统支持sdk控制摄像头列表(device_sdk_list)
参数名称 | 参数类型 | 参数描述 |
---|---|---|
key | string | 摄像头名称 |
data | array | 摄像头数据列表 |
显示器信息列表(monitor_list)
参数名称 | 参数类型 | 参数描述 |
---|---|---|
left | int | 显示器左上角x点 |
top | int | 显示器左上角y点 |
right | int | 显示器右下角x点 |
bottom | int | 显示器右下角y点 |
monitor_id | string | 唯一标识显示器设备 |
device_name | string | 显示器设备名称 |
frequency | int | 显示器频率 |
pixel_height | int | 显示器高 |
pixel_width | int | 显示器款 |
device_id | int | 显示器id |
其他参数
参数名称 | 参数类型 | 参数描述 |
---|---|---|
network_level | int | 网络状态,只在会中显示: |
请求示例
request
{
"jsonrpc": "2.0",
"id": "xxx",
"method": "Query",
"params": {
"path": ["Device"]
}
}
response
{
"jsonrpc": "2.0",
"method": "Query",
"id": "xxx",
"result": {
"error_code": 0,
"message": "成功",
"data": {
"device_info": {
"mic_info": {
"device_id": "xxx",
"switch": false,
"volume": 100
},
"camera_info": {
"device_id": "xxx",
"switch": false
},
"speaker_list": [{
"device_id": "xxx",
"is_default": true,
"volume": 24
}, {
"device_id": "xxx",
"is_default": false,
"volume": 67
}, {
"device_id": "xxx",
"is_default": false,
"volume": 1
}, {
"device_id": "xxx",
"is_default": false,
"volume": 100
}],
"speaker_info": {
"device_id": "xxx",
"switch": true,
"volume": 24
},
"camera_list": [{
"device_id": "xxx",
"is_default": true
}, {
"device_id": "xxx",
"is_default": false
}],
"monitor_list": [{
"left": 0,
"pixel_width": 2560,
"top": 0,
"right": 2560,
"bottom": 1440,
"device_name": "",
"monitor_id": "",
"frequency": 60,
"pixel_height": 1440,
"device_id": ""
}],
"mic_list": [{
"device_id": "",
"is_default": true,
"volume": 100
}, {
"device_id": "",
"is_default": false,
"volume": 100
}, {
"device_id": "",
"is_default": false,
"volume": 100
}],
"ptz_info": {
"device_list": [""],
"default_id": "",
"device_sdk_list": [{
"key": "front",
"data": "Main"
}],
"ptz_info": {
"front": {
"save_support": false,
"support": false,
"pan": {
"support": false,
"rel_support": false,
"absolute_support": false,
"value": 0,
"default": 0
},
"tilt": {
"support": false,
"rel_support": false,
"absolute_support": false,
"value": 0,
"default": 0
},
"zoom": {
"support": false,
"rel_support": false,
"absolute_support": false,
"value": 0,
"default": 0
}
}
}
},
"network_level": 0
}
}
}
}
1.2 查询设备部分信息
接口说明
1)接口解释:用于查询设备模块的相关信息
2)引入版本: 3.8.10
3)调用方式(method):Query
4)调用结果:同步返回调用结果
输入参数(path)
注:详见1.1 查询设备所有信息
输出参数(data)
注:详见1.1 查询设备所有信息
请求示例
request
{
"jsonrpc": "2.0",
"id": "xxx",
"method": "Query",
"params": {
"path": ["Device", "MicInfo"] // 查询Device模块下的MicInfo节点
}
}
response
{
"jsonrpc": "2.0",
"method": "Query",
"id": "xxx",
"result": {
"error_code": 0,
"message": "成功",
"data": {
"mic_info": {
"switch": false,
"device_id": "xxx",
"volume": 100
}
}
}
}
2. 开关摄像头 (EnableCamera)
接口说明
1)接口解释:用于开启或关闭摄像头
2)引入版本: 3.8.10
3)调用方式(method):Call/Device
4)调用名(action):EnableCamera
5)调用结果:异步返回调用结果,EnableCamera,需要订阅 Device 事件,详见 1. 开启摄像头通知 (EnableCamera)
6)前置依赖:
a.Rooms需要在会中
b.Rooms需要具有可用的摄像头
输入参数(action_params)
参数名称 | 是否必选 | 参数类型 | 参数描述 |
---|---|---|---|
enable | 是 | bool | 是否开启摄像头: |
输出参数(data)
成功返回空消息,失败返回错误信息,错误码详见 错误码定义
请求示例
request
{
"jsonrpc": "2.0",
"id": "xxx",
"method": "Call/Device",
"params":{
"action": "EnableCamera",
"action_params": {
"enable": true
}
}
}
response
{
"jsonrpc": "2.0",
"id":"xxx",
"method":"Call/Device",
"result":{
"error_code":0,
"message":"",
"action":"EnableCamera"
}
}
3. 开关麦克风 (EnableMic)
接口说明
1)接口解释:用于开启或关闭麦克风
2)引入版本: 3.8.10
3)调用方式(method):Call/Device
4)调用名(action):EnableMic
5)调用结果:异步返回调用结果,EnableMic,需要订阅 Device 事件,详见 2. 开启麦克风通知 (EnableMic)
6)前置依赖:
a.Rooms需要在会中
b.Rooms需要具有可用的麦克风
输入参数(action_params)
参数名称 | 是否必选 | 参数类型 | 参数描述 |
---|---|---|---|
enable | 是 | bool | 是否开启麦克风: |
输出参数(data)
成功返回空消息,失败返回错误信息,错误码详见 错误码定义
请求示例
request
{
"jsonrpc": "2.0",
"id": "xxx",
"method": "Call/Device",
"params":{
"action": "EnableMic",
"action_params": {
"enable": true
}
}
}
response
{
"jsonrpc": "2.0",
"id":"xxx",
"method":"Call/Device",
"result":{
"error_code":0,
"message":"",
"action":"EnableMic"
}
}
4. 设置扬声器音量 (SetSpeakerVolume)
接口说明
1)接口解释:用于设置扬声器的音量
2)引入版本: 3.8.10
3)调用方式(method):Call/Device
4)调用名(action):SetSpeakerVolume
5)调用结果:异步返回调用结果,SetSpeakerVolume,需要订阅 Device 事件,详见 3. 设置扬声器音量通知 (SetSpeakerVolume)
6)前置依赖:
a. Rooms需要在会中
输入参数(action_params)
参数名称 | 是否必选 | 参数类型 | 参数描述 |
---|---|---|---|
volume | 是 | int | 音量值,0-100 |
输出参数(data)
成功返回空消息,失败返回错误信息,错误码详见 错误码定义
请求示例
request
{
"jsonrpc":"2.0",
"id":"xxx",
"method":"Call/Device",
"params":{
"action":"SetSpeakerVolume",
"action_params":{
"volume":50
}
}
}
response
{
"jsonrpc": "2.0",
"id":"xxx",
"method":"Call/Device",
"result":{
"error_code":0,
"message":"",
"action":"SetSpeakerVolume"
}
}
5. 测试扬声器 (TestSpeaker)
接口说明
1)接口解释:用于测试扬声器是否可用
2)引入版本: 3.9.150
3)调用方式(method):Call/Device
4)调用名(action):TestSpeaker
5)调用结果:异步返回调用结果,SpeakerTestStateChange、SpeakerTestVolumeChange,需要订阅 Device 事件,详见 6. 扬声器测试状态变化通知 (SpeakerTestStateChange),7. 扬声器测试音量变化通知 (SpeakerTestVolumeChange)
6)前置依赖:
a. Rooms需要具有可用的扬声器
b. Rooms当前没有正在测试扬声器
输入参数(action_params)
参数名称 | 是否必选 | 参数类型 | 参数描述 |
---|---|---|---|
enable | 是 | bool | 是否开启测试: |
输出参数(data)
成功返回空消息,失败返回错误信息,错误码详见 错误码定义
请求示例
request
{
"jsonrpc":"2.0",
"id":"xxx",
"method":"Call/Device",
"params":{
"action":"TestSpeaker",
"action_params": {
"test": true
}
}
}
response
{
"jsonrpc": "2.0",
"id":"xxx",
"method":"Call/Device",
"result":{
"error_code":0,
"message":"",
"action":"TestSpeaker"
}
}
6. 测试麦克风 (TestMic)
接口说明
1)接口解释:用于测试麦克风是否可用
2)引入版本: 3.9.150
3)调用方式(method):Call/Device
4)调用名(action):TestMic
5)调用结果:异步返回调用结果,MicTestStateChange、MicTestVolumeChange,需要订阅 Device 事件,详见 8. 麦克风测试状态变化通知 (MicTestStateChange),9. 麦克风测试音量变化通知 (MicTestVolumeChange)
6)前置依赖:
a. Rooms需要具有可用的麦克风
b. Rooms当前没有正在测试麦克风
输入参数(action_params)
参数名称 | 是否必选 | 参数类型 | 参数描述 |
---|---|---|---|
enable | 是 | bool | 是否开启测试: |
输出参数(data)
成功返回空消息,失败返回错误信息,错误码详见 错误码定义
请求示例
request
{
"jsonrpc":"2.0",
"id":"xxx",
"method":"Call/Device",
"params":{
"action":"TestMic",
"action_params": {
"test": true
}
}
}
response
{
"jsonrpc": "2.0",
"id":"xxx",
"method":"Call/Device",
"result":{
"error_code":0,
"message":"",
"action":"TestMic"
}
}
7. 选择摄像头 (SelectCamera)
接口说明
1)接口解释:用于选择摄像头,在进行摄像头ptz控制之前需要调用此接口或者可用于测试该摄像头Rooms是否识别
2)引入版本: 3.9.150
3)调用方式(method):Call/Device
4)调用名(action):SelectCamera
5)前置依赖:
a. Rooms需要具有可用的摄像头
输入参数(action_params)
参数名称 | 是否必选 | 参数类型 | 参数描述 |
---|---|---|---|
device_id | 是 | string | 摄像头名称,如front, back,可通过查询设备信息接口获取摄像头名称 |
输出参数(data)
成功返回空消息,失败返回错误信息,错误码详见 错误码定义
请求示例
request
{
"jsonrpc": "2.0",
"id": "xxx",
"method": "Call/Device",
"params": {
"action": "SelectCamera",
"action_params": {
"device_id": "front"
}
}
}
response
{
"jsonrpc": "2.0",
"id": "xxx",
"method": "Call/Device",
"result": {
"error_code": 0,
"action": "SelectCamera",
"message": ""
}
}
8. 摄像头ptz控制 (ControlCamera)
接口说明
1)接口解释:用于摄像头的ptz控制
2)引入版本: 3.9.150
3)调用方式(method):Call/Device
4)调用名(action):ControlCamera
5)前置依赖:
a. Rooms需要具有可用的摄像头(摄像头需要支持PTZ控制)
输入参数(action_params)
参数名称 | 是否必选 | 参数类型 | 参数描述 |
---|---|---|---|
type | 是 | int | ptz控制类型(只有Android Room支持设置type): |
device_id | 是 | string | 摄像头名称,如front, back,可通过查询设备信息接口获取摄像头名称 |
pressed | 是 | bool | ptz控制器时,标识是否停止控制器,可根据按钮触摸点击和放开: |
control | 是 | string | ptz控制方向: |
输出参数(data)
成功返回空消息,失败返回错误信息,错误码详见 错误码定义
请求示例
request
{
"jsonrpc": "2.0",
"id": "xxx",
"method": "Call/Device",
"params": {
"action": "ControlCamera",
"action_params": {
"type": 1,
"device_id": "front",
"pressed": false,
"control": "left"
}
}
}
response
{
"jsonrpc": "2.0",
"id": "xxx",
"method": "Call/Device",
"result": {
"error_code": 0,
"action": "ControlCamera",
"message": ""
}
}
9. 选择麦克风 (SelectMic)
接口说明
1)接口解释:可用于测试该麦克风Rooms是否识别
2)引入版本: 3.9.150
3)调用方式(method):Call/Device
4)调用名(action):SelectMic
5)调用结果:异步返回调用结果,SelectMic,需要订阅 Device 事件,详见 5. 选择麦克风通知 (SelectMic)
6)前置依赖:
a. Rooms需要具有可用的麦克风
输入参数(action_params)
参数名称 | 是否必选 | 参数类型 | 参数描述 |
---|---|---|---|
device_id | 是 | string | 麦克风名称,如front, back,可通过查询设备信息接口获取麦克风名称 |
输出参数(data)
成功返回空消息,失败返回错误信息,错误码详见 错误码定义
请求示例
request
{
"jsonrpc":"2.0",
"id":"xxx",
"method":"Call/Device",
"params":{
"action":"SelectMic",
"action_params":{
"device_id": ""
}
}
}
response
{
"jsonrpc": "2.0",
"id":"xxx",
"method":"Call/Device",
"result":{
"error_code":0,
"message":"",
"action":"SelectMic"
}
}
10. 选择扬声器通知 (SelectSpeaker)
接口说明
1)接口解释:可用于测试该扬声器Rooms是否识别
2)引入版本: 3.9.150
3)调用方式(method):Call/Device
4)调用名(action):SelectSpeaker
5)调用结果:异步返回调用结果,SelectSpeaker,需要订阅 Device 事件,详见 4. 选择扬声器通知 (SelectSpeaker)
6)前置依赖:
a. Rooms需要具有可用的扬声器
输入参数(action_params)
参数名称 | 是否必选 | 参数类型 | 参数描述 |
---|---|---|---|
device_id | 是 | string | 扬声器名称,如front, back,可通过查询设备信息接口获取扬声器名称 |
输出参数(data)
成功返回空消息,失败返回错误信息,错误码详见 错误码定义
请求示例
request
{
"jsonrpc":"2.0",
"id":"xxx",
"method":"Call/Device",
"params":{
"action":"SelectSpeaker",
"action_params":{
"device_id": ""
}
}
}
response
{
"jsonrpc": "2.0",
"id":"xxx",
"method":"Call/Device",
"result":{
"error_code":0,
"message":"",
"action":"SelectSpeaker"
}
}