human: 如何处理七牛云的实时音视频QNDeviceManager

gpt: [实时音视频](https://developer.qiniu.com/rtc) > API 文档 > Web >QNDeviceManager

#  QNDeviceManager

最近更新时间: 2023-07-05 12:44:55

设备管理实例

Index

Core methods

  * setRecordingDevice
  * setPlaybackDevice
  * setCameraDevice
  * startRecordingDeviceTest
  * stopRecordingDeviceTest
  * startPlaybackDeviceTest
  * stopPlaybackDeviceTest
  * getCameras
  * getMicrophones
  * getPlaybackDevices
  * getDevices

Events

  * test-recording-device-volume
  * recording-device-changed
  * playback-device-changed
  * camera-device-changed

Core methods

setRecordingDevice

  * setRecordingDevice(deviceID: string): void
  * 设置连麦使用的音频录制设备

Parameters

    * deviceID: string 

设备 ID

Returns void

setPlaybackDevice

  * setPlaybackDevice(deviceID: string): void
  * 设置连麦使用的音频播放设备

Parameters

    * deviceID: string 

设备 ID

Returns void

setCameraDevice

  * setCameraDevice(deviceID: string): void
  * 设置连麦使用的视频录制设备

Parameters

    * deviceID: string 

设备 ID

Returns void

startRecordingDeviceTest

  * startRecordingDeviceTest(interval: number, playback?: boolean): void
  * 开始麦克风测试

Parameters

    * interval: number 

麦克风音量的回调间隔，单位毫秒

    * playback: boolean 

是否开启回播麦克风声音，开启后用户测试麦克风时会听到自己的声音

Returns void

stopRecordingDeviceTest

  * stopRecordingDeviceTest(): void
  * 结束麦克风测试

Returns void

startPlaybackDeviceTest

  * startPlaybackDeviceTest(file_path: Blob | string | File): Promise<void>
  * 开始扬声器测试

Parameters

    * file_path: Blob | string | File 

扬声器播放文件路径

Returns void

stopPlaybackDeviceTest

  * stopPlaybackDeviceTest(): void
  * 结束扬声器测试

Returns void

getCameras

  * getCameras(skipPermissionCheck = false): Promise<[MediaDeviceInfo](https://developer.mozilla.org/en-US/docs/Web/API/MediaDeviceInfo)[]>
  * 枚举可用的视频输入设备，比如摄像头

Parameters

    * Optional skipPermissionCheck: boolean 

将该参数设置成 true 跳过权限检查，但是 SDK 将无法保证获取准确的媒体设备信息。

🔹 true: 跳过权限检查

🔹 false:（默认）不跳过权限检查。

Returns Promise<[MediaDeviceInfo](https://developer.mozilla.org/en-
US/docs/Web/API/MediaDeviceInfo)[]>

getMicrophones

  * getMicrophones(skipPermissionCheck = false): Promise<[MediaDeviceInfo](https://developer.mozilla.org/en-US/docs/Web/API/MediaDeviceInfo)[]>
  * 枚举可用的音频输入设备，比如麦克风

Parameters

    * Optional skipPermissionCheck: boolean 

将该参数设置成 true 跳过权限检查，但是 SDK 将无法保证获取准确的媒体设备信息。

🔹 true: 跳过权限检查

🔹 false:（默认）不跳过权限检查。

Returns Promise<[MediaDeviceInfo](https://developer.mozilla.org/en-
US/docs/Web/API/MediaDeviceInfo)[]>

getPlaybackDevices

  * getPlaybackDevices(skipPermissionCheck = false): Promise<[MediaDeviceInfo](https://developer.mozilla.org/en-US/docs/Web/API/MediaDeviceInfo)[]>
  * 枚举可用的音频播放设备，比如扬声器

Parameters

    * Optional skipPermissionCheck: boolean 

将该参数设置成 true 跳过权限检查，但是 SDK 将无法保证获取准确的媒体设备信息。

🔹 true: 跳过权限检查

🔹 false:（默认）不跳过权限检查。

Returns Promise<[MediaDeviceInfo](https://developer.mozilla.org/en-
US/docs/Web/API/MediaDeviceInfo)[]>

getDevices

  * getDevices(skipPermissionCheck?: boolean): Promise<[MediaDeviceInfo](https://developer.mozilla.org/en-US/docs/Web/API/MediaDeviceInfo)[]>
  * 枚举可用的媒体输入和输出设备，比如麦克风、摄像头、耳机等

Parameters

    * Optional skipPermissionCheck: boolean 

将该参数设置成 true 跳过权限检查，但是 SDK 将无法保证获取准确的媒体设备信息。

🔹 true: 跳过权限检查

🔹 false:（默认）不跳过权限检查。

Returns Promise<[MediaDeviceInfo](https://developer.mozilla.org/en-
US/docs/Web/API/MediaDeviceInfo)[]>

Events

test-recording-device-volume

  * (volume: number) => void
  * 测试麦克风时的音量回调

Parameters

    * volume: number 

麦克风采集到的音量值，取值范围0 - 100

recording-device-changed

  * (device: [MediaDeviceInfo](https://developer.mozilla.org/en-US/docs/Web/API/MediaDeviceInfo), state: [QNDeviceState](https://developer.qiniu.com/rtc/12500/WebQNDeviceManager/12499/WebQNDeviceState)) => void
  * 麦克风设备变更

Parameters

    * device: [MediaDeviceInfo](https://developer.mozilla.org/en-US/docs/Web/API/MediaDeviceInfo)

设备详情

    * state: [QNDeviceState](https://developer.qiniu.com/rtc/12500/WebQNDeviceManager/12499/WebQNDeviceState)

设备状态

playback-device-changed

  * (device: [MediaDeviceInfo](https://developer.mozilla.org/en-US/docs/Web/API/MediaDeviceInfo), state: [QNDeviceState](https://developer.qiniu.com/rtc/12500/WebQNDeviceManager/12499/WebQNDeviceState)) => void
  * 扬声器设备变更

Parameters

    * device: [MediaDeviceInfo](https://developer.mozilla.org/en-US/docs/Web/API/MediaDeviceInfo)

设备详情

    * state: [QNDeviceState](https://developer.qiniu.com/rtc/12500/WebQNDeviceManager/12499/WebQNDeviceState)

设备状态

camera-device-changed

  * (device: [MediaDeviceInfo](https://developer.mozilla.org/en-US/docs/Web/API/MediaDeviceInfo), state: [QNDeviceState](https://developer.qiniu.com/rtc/12500/WebQNDeviceManager/12499/WebQNDeviceState)) => void
  * 摄像头设备变更

Parameters

    * device: [MediaDeviceInfo](https://developer.mozilla.org/en-US/docs/Web/API/MediaDeviceInfo)

设备详情

    * state: [QNDeviceState](https://developer.qiniu.com/rtc/12500/WebQNDeviceManager/12499/WebQNDeviceState)

设备状态

以上内容是否对您有帮助？