export type TrackType = 'video' | 'audio'; export interface IFrame { pts: number; end?: number; } export interface IAnchor { avatar: string; tags: string; name: string; } export interface IVideoFrame extends IFrame { image: string; } export interface IAudioFrame extends IFrame { image: string; text: string; } export interface ITrack { name: string; duration: number; type: TrackType; } export interface IVideoTrack extends ITrack { type: 'video'; frames: Array; } export interface IAudioTrack extends ITrack { type: 'audio'; text: string; frames: Array; } export interface IMediaSlice { name?: string; image: string; start: number; end: number; } export interface ISliceBox { slice?: IMediaSlice; left: number; width: number; } export interface IRuleScaleText { text: string; left: number; } export interface IRuleScaleLine { isAlign: boolean; left: number; }