docs: add advanced skills for Vitest, Pinia, and Vue built-ins
Add comprehensive reference documentation for: - Vitest: environments, projects/workspaces, type testing, vi utilities - Pinia: HMR, Nuxt integration, SSR setup - Vue: built-in components (Transition, Teleport, Suspense, KeepAlive) and advanced directives
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
---
|
||||
category: Sensors
|
||||
related: useUserMedia
|
||||
---
|
||||
|
||||
# useDisplayMedia
|
||||
|
||||
Reactive [`mediaDevices.getDisplayMedia`](https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getDisplayMedia) streaming.
|
||||
|
||||
## Usage
|
||||
|
||||
```vue
|
||||
<script setup lang="ts">
|
||||
import { useDisplayMedia } from '@vueuse/core'
|
||||
import { useTemplateRef } from 'vue'
|
||||
|
||||
const { stream, start } = useDisplayMedia()
|
||||
|
||||
// start streaming
|
||||
start()
|
||||
|
||||
const videoRef = useTemplateRef('video')
|
||||
watchEffect(() => {
|
||||
// preview on a video element
|
||||
videoRef.value.srcObject = stream.value
|
||||
})
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<video ref="video" />
|
||||
</template>
|
||||
```
|
||||
|
||||
## Type Declarations
|
||||
|
||||
```ts
|
||||
export interface UseDisplayMediaOptions extends ConfigurableNavigator {
|
||||
/**
|
||||
* If the stream is enabled
|
||||
* @default false
|
||||
*/
|
||||
enabled?: MaybeRef<boolean>
|
||||
/**
|
||||
* If the stream video media constraints
|
||||
*/
|
||||
video?: boolean | MediaTrackConstraints | undefined
|
||||
/**
|
||||
* If the stream audio media constraints
|
||||
*/
|
||||
audio?: boolean | MediaTrackConstraints | undefined
|
||||
}
|
||||
export interface UseDisplayMediaReturn extends Supportable {
|
||||
stream: ShallowRef<MediaStream | undefined>
|
||||
start: () => Promise<MediaStream | undefined>
|
||||
stop: () => void
|
||||
enabled: ShallowRef<boolean>
|
||||
}
|
||||
/**
|
||||
* Reactive `mediaDevices.getDisplayMedia` streaming
|
||||
*
|
||||
* @see https://vueuse.org/useDisplayMedia
|
||||
* @param options
|
||||
*/
|
||||
export declare function useDisplayMedia(
|
||||
options?: UseDisplayMediaOptions,
|
||||
): UseDisplayMediaReturn
|
||||
```
|
||||
Reference in New Issue
Block a user