Category | Sensors |
---|---|
Export Size | 1.09 kB |
Last Changed | 4 weeks ago |
Related | useUserMedia |
Reactive enumerateDevices listing available input/output devices.
import { useDevicesList } from '@vueuse/core' const { devices, videoInputs: cameras, audioInputs: microphones, audioOutputs: speakers, } = useDevicesList()
<UseDevicesList v-slot="{ videoInputs, audioInputs, audioOutputs }"> Cameras: {{ videoInputs }} Microphones: {{ audioInputs }} Speakers: {{ audioOutputs }} </UseDevicesList>
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: Ref<boolean> ensurePermissions: () => Promise<boolean> isSupported: Ref<boolean> } /** * Reactive `enumerateDevices` listing available input/output devices * * @see https://vueuse.org/useDevicesList * @param options */ export declare function useDevicesList( options?: UseDevicesListOptions ): UseDevicesListReturn
© 2019-present Anthony Fu
Licensed under the MIT License.
https://vueuse.org/core/useDevicesList/