import { ComponentPublicInstance } from 'vue' export type CreateVideoContext = (videoId: VideoIdString, component?: ComponentPublicInstance | null) => VideoContext | null; export type Danmu = { /** * 弹幕文字 */ text: string | null, /** * 弹幕颜色 */ color: string | null, /** * 显示时刻 */ time: number | null }; export type RequestFullScreenOptions = { /** * direction * - 0: 正常竖向 * - 90: 屏幕逆时针90度 * - -90: 屏幕顺时针90度 * @type 0 | 90 | -90 */ direction: number | null }; export interface VideoContext { /** * @description 播放 * @uniPlatform { * "app": { * "android": { * "osVer": "4.4", * "uniVer": "√", * "unixVer": "3.9.0" * } * } * } * @uniVueVersion 2,3 */ play(): void; /** * @description 暂停 * @uniPlatform { * "app": { * "android": { * "osVer": "4.4", * "uniVer": "√", * "unixVer": "3.9.0" * } * } * } * @uniVueVersion 2,3 */ pause(): void; /** * @description 跳转到指定位置 * @param {number} position 跳转到指定位置(秒) * @uniPlatform { * "app": { * "android": { * "osVer": "4.4", * "uniVer": "√", * "unixVer": "3.9.0" * } * } * } * @uniVueVersion 2,3 */ seek(position: number): void; /** * @description 停止视频 * @uniPlatform { * "app": { * "android": { * "osVer": "4.4", * "uniVer": "√", * "unixVer": "3.9.0" * } * } * } * @uniVueVersion 2,3 */ stop(): void; /** * @description 发送弹幕 * @param {Danmu} 属性 text, color * @uniPlatform { * "app": { * "android": { * "osVer": "4.4", * "uniVer": "√", * "unixVer": "3.9.0" * } * } * } * @uniVueVersion 2,3 */ sendDanmu(danmu: Danmu): void; /** * @description 设置倍速播放 * @param {number} rate, 支持倍率 0.5/0.8/1.0/1.25/1.5 * @uniPlatform { * "app": { * "android": { * "osVer": "4.4", * "uniVer": "√", * "unixVer": "3.9.0" * } * } * } * @uniVueVersion 2,3 */ playbackRate(rate: number): void; /** * @description 进入全屏 * @param {RequestFullScreenOptions} direction, 0|正常竖向, 90|屏幕逆时针90度, -90|屏幕顺时针90度 * @uniPlatform { * "app": { * "android": { * "osVer": "4.4", * "uniVer": "√", * "unixVer": "3.9.0" * } * } * } * @uniVueVersion 2,3 */ requestFullScreen(direction: RequestFullScreenOptions | null): void; /** * 退出全屏 * @description 退出全屏 * @uniPlatform { * "app": { * "android": { * "osVer": "4.4", * "uniVer": "√", * "unixVer": "3.9.0" * } * } * } * @uniVueVersion 2,3 */ exitFullScreen(): void; } export interface Uni { /** * 创建并返回 video 上下文 videoContext 对象 * @description 创建并返回 video 上下文 videoContext 对象 * @uniPlatform { * "app": { * "android": { * "osVer": "4.4", * "uniVer": "√", * "unixVer": "√" * } * } * } * @uniVueVersion 2,3 * @return {VideoContext} 视频对象 * * @tutorial http://uniapp.dcloud.io/api/media/video-context?id=createVideoContext * */ createVideoContext(videoId : string | HBuilderX.VideoIdString, component?: ComponentPublicInstance | null) : VideoContext | null }