UNPKG

vue3-liveplayer-wrapper

Version:

Vue 3 wrapper for @liveqing/liveplayer-v3 with recording and playback control features - Fully compatible with Vue 3.5+

135 lines (114 loc) 3.3 kB
// 全局 video.js 声明 declare global { interface Window { videojs: any; } } declare module 'liveplayer-wrapper' { import { ComponentPublicInstance, App } from 'vue' import LivePlayerWrapper from '../components/LivePlayerWrapper.vue' // 导出组件 export { LivePlayerWrapper } // 导出类型 export interface LivePlayerWrapperProps { // 视频相关属性 videoUrl?: string videoTitle?: string poster?: string alt?: string // 播放控制属性 autoplay?: boolean controls?: boolean loop?: boolean live?: boolean muted?: boolean // 显示设置 aspect?: string fluent?: boolean stretch?: boolean hideBigPlayButton?: boolean waterMark?: string // 超时设置 timeout?: number // 按钮显示控制 showCustomButton?: boolean hideSnapshotButton?: boolean hideFullscreenButton?: boolean hideFluent?: boolean hideStretch?: boolean // HLS相关设置 resolution?: string resolutiondefault?: string playbackRates?: number[] playbackRate?: number // FLV相关设置 hasaudio?: boolean hasvideo?: boolean // 其他功能 customButtons?: string autofocus?: boolean dblclickFullscreen?: boolean language?: string digitalZoom?: boolean } export interface LivePlayerWrapperInstance extends ComponentPublicInstance { // 播放控制 play(): void pause(): void togglePlay(): void paused(): boolean // 播放进度 getCurrentTime(): number setCurrentTime(time: number): void // 截图功能 snap(): void // 音量控制 getMuted(): boolean setMuted(muted: boolean): void toggleMute(): void getVolume(): number setVolume(volume: number): void // 全屏控制 isFullscreen(): boolean requestFullscreen(): void exitFullscreen(): void toggleFullscreen(): void // 其他功能 getDuration(): number getPlayer(): any // 录制功能 startRecording(): void stopRecording(): void toggleRecording(): void isRecording(): boolean getRecordingTime(): string forceStopRecording(): void recoverFromRecordingError(): void // 播放开关功能 togglePlayback(): void isPlaying(): boolean } export interface LivePlayerWrapperEvents { message: (event: { type: string; message: string }) => void error: (error: Error) => void ended: () => void timeupdate: (time: number) => void pause: (time: number) => void play: (time: number) => void fullscreen: (isFullscreen: boolean) => void snapOutside: (data: string) => void snapInside: (data: string) => void customButtons: (buttonName: string) => void canplay: (duration: number) => void volumechange: (volume: number, muted: boolean) => void ready: (player: any) => void recordingStart: () => void recordingStop: () => void recordingError: (error: string) => void } // 默认导出 - 支持 Vue 3.5+ 的 App 类型 const LivePlayerWrapperPlugin: { install: (app: App) => void } export default LivePlayerWrapperPlugin }