tencent cloud

实时音视频

动态与公告
产品动态
产品近期公告
关于 TRTC Live 正式上线的公告
关于TRTC Conference 正式版上线的公告
Conference 商业化版本即将推出
关于多人音视频 Conference 开启内测公告
关于音视频通话 Call 正式版上线的公告
关于腾讯云音视频终端 SDK 播放升级及新增授权校验的公告
关于 TRTC 应用订阅套餐服务上线的相关说明
产品简介
产品概述
基本概念
产品功能
产品优势
应用场景
性能数据
购买指南
计费概述
免费时长说明
月订阅
现收现付
TRTC 逾期与暂停政策
常见问题解答
退款说明
新手指引
Demo 体验
视频通话 SDK
组件介绍
开通服务
跑通 Demo
快速接入
离线唤醒
会话聊天
云端录制
AI 降噪
界面定制
Chat 集成通话能力
更多特性
无 UI 集成
服务端 API
客户端 API
解决方案
错误码表
发布日志
常见问题
视频会议 SDK
组件介绍(TUIRoomKit)
开通服务(TUIRoomKit)
跑通 Demo(TUIRoomKit)
快速接入(TUIRoomKit)
屏幕共享(TUIRoomKit)
预定会议(TUIRoomKit)
会中呼叫(TUIRoomKit)
界面定制(TUIRoomKit)
虚拟背景(TUIRoomKit)
会议控制(TUIRoomKit)
云端录制(TUIRoomKit)
AI 降噪(TUIRoomKit)
会中聊天(TUIRoomKit)
机器人推流(TUIRoomKit)
更多特性(TUIRoomKit)
客户端 API(TUIRoomKit)
服务端 API(TUIRoomKit)
常见问题(TUIRoomKit)
错误码 (TUIRoomKit)
SDK更新日志(TUIRoomKit)
直播与语聊 SDK
Live 视频直播计费说明
组件介绍
开通服务(TUILiveKit)
跑通 Demo
无 UI 集成
UI 自定义
直播监播
视频直播
语聊房
高级功能
客户端 API
服务端 API
错误码
发布日志
常见问题
RTC Engine
开通服务
SDK 下载
API-Example
接入指引
API-参考手册
高级功能
AI 集成
概述
MCP 配置
Skills 配置
集成指南
常见问题
RTC RESTFUL API
History
Introduction
API Category
Room Management APIs
Stream mixing and relay APIs
On-cloud recording APIs
Data Monitoring APIs
Pull stream Relay Related interface
Web Record APIs
AI Service APIs
Cloud Slicing APIs
Cloud Moderation APIs
Making API Requests
Call Quality Monitoring APIs
Usage Statistics APIs
Data Types
Appendix
Error Codes
控制台指南
应用管理
套餐包管理
用量统计
监控仪表盘
开发辅助
解决方案
实时合唱
常见问题
迁移指南
计费相关
功能相关
UserSig 相关
应对防火墙限制相关
缩减安装包体积相关
Andriod 与 iOS 相关
Web 端相关
Flutter 相关
Electron 相关
TRTCCalling Web 相关
音视频质量相关
其他问题
旧版文档
RTC RoomEngine SDK(旧)
集成 TUIRoom (Web)
集成 TUIRoom (Android)
集成 TUIRoom (iOS)
集成 TUIRoom (Flutter)
集成 TUIRoom (Electron)
TUIRoom API 查询
实现云端录制与回放(旧)
监控仪表盘计费(旧)
协议与策略
安全合规认证
安全白皮书
信息安全说明
服务等级协议
苹果隐私策略:PrivacyInfo.xcprivacy
TRTC 政策
隐私协议
数据处理和安全协议
词汇表

DeviceStore

PDF
聚焦模式
字号
最后更新时间: 2026-03-05 16:32:08

简介

DeviceStore 提供了一套全面的 API 来管理音视频设备,包括麦克风、摄像头和屏幕分享等功能。
重要:
请使用 shared 单例获取 DeviceStore 实例。不要尝试直接初始化。
说明:
设备状态更新通过 state 发布者传递。订阅它以接收有关麦克风、摄像头、网络等状态的实时更新。

功能特性

麦克风管理:打开/关闭麦克风,设置采集音量和输出音量。
摄像头管理:打开/关闭摄像头,切换前后摄像头,设置镜像和视频质量。
音频路由:切换扬声器和听筒。
屏幕分享:开启和关闭屏幕分享功能。
网络状态:实时监控网络质量信息。

可订阅数据

DeviceState 的字段描述如下:
属性名
类型
描述
microphoneStatus
ValueListenable<DeviceStatus>
麦克风状态。
microphoneLastError
ValueListenable<DeviceError>
麦克风错误,用于出现报错时提取错误信息。
captureVolume
ValueListenable<int>
采集音量,取值范围 [0, 100]。
currentMicVolume
ValueListenable<int>
当前用户实际输出音量。
outputVolume
ValueListenable<int>
最大输出音量,取值范围 [0, 100]。
cameraStatus
ValueListenable<DeviceStatus>
摄像头状态。
cameraLastError
ValueListenable<DeviceError>
摄像头错误,用于出现报错时提取错误信息。
isFrontCamera
ValueListenable<bool>
是否为前置摄像头。
localMirrorType
ValueListenable<MirrorType>
镜像状态。
localVideoQuality
ValueListenable<VideoQuality>
本地视频质量。
currentAudioRoute
ValueListenable<AudioRoute>
当前音频路由位置。
screenStatus
ValueListenable<DeviceStatus>
屏幕分享状态。
networkInfo
ValueListenable<NetworkInfo>
网络信息。

API 列表

函数名
描述
单例对象。
打开本地麦克风。
关闭本地麦克风。
设置采集音量。
设置输出音量。
设置音频路由。
开始摄像头测试。
停止摄像头测试。
打开本地摄像头。
关闭本地摄像头。
切换摄像头。
切换镜像状态。
更新视频质量。
开启屏幕分享。
关闭屏幕分享。
重置为默认状态。

获取实例

shared

单例对象。

麦克风操作

openLocalMicrophone

打开本地麦克风
Future<CompletionHandler> openLocalMicrophone();
版本信息
从 3.5 版本开始支持。
参数说明
参数名
类型
是否必填
描述
completion
CompletionClosure?
必填
操作是否成功。

closeLocalMicrophone

关闭本地麦克风
void closeLocalMicrophone();
版本信息
从 3.5 版本开始支持。

setCaptureVolume

设置采集音量
void setCaptureVolume(int volume);
版本信息
从 3.5 版本开始支持。
参数说明
参数名
类型
是否必填
描述
volume
int
必填
采集音量,取值范围 [0, 100]。

setOutputVolume

设置最大输出音量
void setOutputVolume(int volume);
版本信息
从 3.5 版本开始支持。
参数说明
参数名
类型
是否必填
描述
volume
int
必填
最大音量,取值范围 [0, 100]。

音频路由

setAudioRoute

设置音频路由
void setAudioRoute(AudioRoute route);
版本信息
从 3.5 版本开始支持。
参数说明
参数名
类型
是否必填
描述
route
必填
路由位置。

摄像头操作

startCameraTest(cameraView:completion:)

开始摄像头测试。

stopCameraTest()

停止摄像头测试。

openLocalCamera

打开本地摄像头
Future<CompletionHandler> openLocalCamera(bool isFront);
版本信息
从 3.5 版本开始支持。
参数说明
参数名
类型
是否必填
描述
isFront
bool
必填
是否前置摄像头。
completion
CompletionClosure?
必填
操作是否成功。

closeLocalCamera

关闭本地摄像头
void closeLocalCamera();
版本信息
从 3.5 版本开始支持。

switchCamera

切换摄像头
void switchCamera(bool isFront);
版本信息
从 3.5 版本开始支持。
参数说明
参数名
类型
是否必填
描述
isFront
bool
必填
是否前置摄像头。

switchMirror

切换镜像状态
void switchMirror(MirrorType mirrorType);
版本信息
从 3.5 版本开始支持。
参数说明
参数名
类型
是否必填
描述
mirrorType
必填
镜像状态。

updateVideoQuality

更新视频质量
void updateVideoQuality(VideoQuality quality);
版本信息
从 3.5 版本开始支持。
参数说明
参数名
类型
是否必填
描述
quality
必填
视频质量。

屏幕分享

startScreenShare

开启屏幕分享
void startScreenShare();
版本信息
从 3.5 版本开始支持。

stopScreenShare

关闭屏幕采集
void stopScreenShare();
版本信息
从 3.5 版本开始支持。

重置

reset

重置为默认状态
void reset();
版本信息
从 3.5 版本开始支持。

数据结构

DeviceType

设备类型。
枚举值
说明
microphone
0
麦克风类型。
camera
1
摄像头类型。
screenShare
2
屏幕分享类型。

DeviceError

设备相关错误码。
枚举值
说明
noError
0
操作成功。
noDeviceDetected
1
未检测到设备。
noSystemPermission
2
没有系统权限。
notSupportCapture
3
不支持采集。
occupiedError
4
设备已占用。
unknownError
5
未知错误。

DeviceStatus

设备开启状态。
枚举值
说明
off
0
关闭。
on
1
开启。

AudioRoute

音频路由。
枚举值
说明
speakerphone
0
扬声器,使用扬声器播放(即"免提"),扬声器位于手机底部,声音偏大,适合外放音乐。
earpiece
1
听筒,使用听筒播放,听筒位于手机顶部,声音偏小,适合需要保护隐私的通话场景。

VideoQuality

视频质量。
枚举值
说明
quality360P
1
360P。
quality540P
2
540P。
quality720P
3
720P。
quality1080P
4
1080P。

NetworkQuality

网络质量。
枚举值
说明
unknown
0
未知网络。
excellent
1
极佳。
good
2
良好。
poor
3
较差。
bad
4
差。
veryBad
5
极差。
down
6
中断。

MirrorType

摄像头镜像状态。
枚举值
说明
auto
0
自动,前置摄像头镜像,后置摄像头不镜像。
enable
1
前后摄像头均镜像。
disable
2
前后摄像头均不镜像。

DeviceFocusOwner

设备焦点。
枚举值
说明
call
语音通话场景。
live
直播场景。
none
未设置。

NetworkInfo

网络信息
属性
类型
说明
userID
String
用户唯一ID。
quality
网络质量。
upLoss
int
上行丢包率,取值范围 [0, 100]。
downLoss
int
下行丢包率,取值范围 [0, 100]。
delay
int
延迟(单位:毫秒)。

DeviceState

设备状态。
属性
类型
说明
microphoneStatus
ValueListenable<DeviceStatus>
麦克风状态。
microphoneLastError
ValueListenable<DeviceError>
麦克风错误,用于出现报错时提取错误信息。
captureVolume
ValueListenable<int>
采集音量,取值范围 [0, 100]。
currentMicVolume
ValueListenable<int>
当前用户实际输出音量。
outputVolume
ValueListenable<int>
最大输出音量,取值范围 [0, 100]。
cameraStatus
ValueListenable<DeviceStatus>
摄像头状态。
cameraLastError
ValueListenable<DeviceError>
摄像头错误,用于出现报错时提取错误信息。
isFrontCamera
ValueListenable<bool>
是否为前置摄像头。
localMirrorType
ValueListenable<MirrorType>
镜像状态。
localVideoQuality
ValueListenable<VideoQuality>
本地视频质量。
currentAudioRoute
ValueListenable<AudioRoute>
当前音频路由位置。
screenStatus
ValueListenable<DeviceStatus>
屏幕分享状态。
networkInfo
ValueListenable<NetworkInfo>
网络信息。

使用示例

// 获取单例实例
let store = DeviceStore.shared

// 订阅状态变化
store.state.subscribe { state in
print("麦克风状态: \\(state.microphoneStatus)")
print("摄像头状态: \\(state.cameraStatus)")
print("网络质量: \\(state.networkInfo.quality)")
}

// 打开麦克风
store.openLocalMicrophone { code, message in
if code == 0 {
print("麦克风打开成功")
}
}

// 打开前置摄像头
store.openLocalCamera(isFront: true) { code, message in
if code == 0 {
print("摄像头打开成功")
}
}


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈