跳到主要内容

useDevicesList

分类
导出大小
1.34 kB
上次更改
4 个月前
相关

响应式地 枚举设备,列出可用的输入/输出设备。

演示

摄像头 (0)
麦克风 (0)
扬声器 (0)

用法

ts
import { 
useDevicesList
} from '@vueuse/core'
const {
devices
,
videoInputs
:
cameras
,
audioInputs
:
microphones
,
audioOutputs
:
speakers
,
} =
useDevicesList
()

请求权限

要请求权限,请使用 ensurePermissions 方法。

ts
const {
  
ensurePermissions
,
permissionGranted
,
} =
useDevicesList
()
await
ensurePermissions
()
console
.
log
(permissionsGranted.value)

组件

vue
<template>
  <UseDevicesList v-slot="{ 
videoInputs
,
audioInputs
,
audioOutputs
}">
Cameras: {{
videoInputs
}}
Microphones: {{
audioInputs
}}
Speakers: {{
audioOutputs
}}
</UseDevicesList> </template>

类型声明

显示类型声明
ts
export interface UseDevicesListOptions extends ConfigurableNavigator {
  
onUpdated
?: (
devices
: MediaDeviceInfo[]) => void
/** * Request for permissions immediately if it's not granted, * otherwise label and deviceIds could be empty * * @default false */
requestPermissions
?: boolean
/** * Request for types of media permissions * * @default { audio: true, video: true } */
constraints
?: MediaStreamConstraints
} export interface UseDevicesListReturn { /** * All devices */
devices
:
Ref
<MediaDeviceInfo[]>
videoInputs
:
ComputedRef
<MediaDeviceInfo[]>
audioInputs
:
ComputedRef
<MediaDeviceInfo[]>
audioOutputs
:
ComputedRef
<MediaDeviceInfo[]>
permissionGranted
:
ShallowRef
<boolean>
ensurePermissions
: () =>
Promise
<boolean>
isSupported
:
ComputedRef
<boolean>
} /** * Reactive `enumerateDevices` listing available input/output devices * * @see https://vueuse.org.cn/useDevicesList * @param options */ export declare function
useDevicesList
(
options
?: UseDevicesListOptions,
): UseDevicesListReturn

来源

源代码演示文档

贡献者

Anthony Fu
IlyaL
wheat
SerKo
Nikitatopodin
IlyaL
Fernando Fernández
Alex Liu
Klein Petr
Espen Solli Grande
Anthony Fu
Félix Zapata
vaakian X
vaakian X
Jelf
Andras Serfozo
Alex Kozack

更新日志

8c521 - feat(components)!: 重构组件并使其保持一致 (#4912)
v13.4.0
c424f - fix: 在请求权限之前检查设备可用性 (#4818)
v12.8.0
f9685 - fix(useDeviceList): 如果摄像头权限为 granted,音频输入不会更新 (#4559)
v12.4.0
dd316 - feat: 尽可能在所有地方使用被动事件处理程序 (#4477)
0a9ed - feat!: 放弃对 Vue 2 的支持,优化打包并清理 (#4349)
v11.2.0
bf0f2 - fix: 处理拒绝/关闭时的 NotAllowedError (#4246)

根据 MIT 许可证发布。