// 迁移类型定义 - 兼容 expo-av 到 expo-video 的迁移 import { Video } from 'expo-video'; export type { Video }; // ResizeMode 映射 export const ResizeMode = { CONTAIN: 'contain' as const, COVER: 'cover' as const, STRETCH: 'stretch' as const, }; export type ResizeMode = 'contain' | 'cover' | 'stretch'; // 兼容性类型 export interface AVPlaybackStatus { isLoaded: boolean; isPlaying?: boolean; durationMillis?: number; naturalSize?: { width: number; height: number; }; positionMillis?: number; } export interface VideoReadyForDisplayEvent { nativeEvent: { naturalSize: { width: number; height: number; }; }; } // Video 组件的兼容性 props export interface VideoProps { source: { uri: string }; style?: any; resizeMode?: ResizeMode; shouldPlay?: boolean; isLooping?: boolean; isMuted?: boolean; useNativeControls?: boolean; onReadyForDisplay?: (event: VideoReadyForDisplayEvent) => void; onError?: (error: any) => void; onPlaybackStatusUpdate?: (status: AVPlaybackStatus) => void; ref?: React.RefObject