跳到主要內容

useDisplayMedia

分類
導出大小
496 B
最近更新
5 天前
相關

響應式 mediaDevices.getDisplayMedia 串流。

範例

用法

ts
import { useDisplayMedia } from '@vueuse/core'

const { stream, start } = useDisplayMedia()

// start streaming

start()
ts
const video = document.getElementById('video')

watchEffect(() => {
  // preview on a video element
  video.srcObject = stream.value
})

類型宣告

顯示類型宣告
typescript
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
}
/**
 * Reactive `mediaDevices.getDisplayMedia` streaming
 *
 * @see https://vueuse.dev.org.tw/useDisplayMedia
 * @param options
 */
export declare function useDisplayMedia(options?: UseDisplayMediaOptions): {
  isSupported: ComputedRef<boolean>
  stream: ShallowRef<MediaStream | undefined, MediaStream | undefined>
  start: () => Promise<MediaStream | undefined>
  stop: () => void
  enabled:
    | Ref<boolean, boolean>
    | ShallowRef<boolean, boolean>
    | WritableComputedRef<boolean, boolean>
    | ShallowRef<true, true>
    | ShallowRef<false, false>
}
export type UseDisplayMediaReturn = ReturnType<typeof useDisplayMedia>

原始碼

原始碼範例文件

貢獻者

Anthony Fu
IlyaL
Anthony Fu
Fernando Fernández
Robert Rosman
Jelf
wheat
Abderrahim SOUBAI-ELIDRISI

更新日誌

v12.8.0 於 2025/3/5
7432f - feat(types): 棄用 MaybeRefMaybeRefOrGetter,改用 Vue 原生型別 (#4636)
v12.5.0 於 2025/1/22
c6c6e - feat: 在未使用 useEventListener 的地方使用它 (#4479)
v12.0.0-beta.1 於 2024/11/21
0a9ed - feat!: 移除 Vue 2 支援,最佳化 bundles 並清理程式碼 (#4349)
v10.10.0 於 2024/5/27
a3c6f - fix: 當螢幕不再分享時停止串流 (#3976)

根據 MIT 許可證發布。