import { TrackInfo, VlcPlayerViewRef, } from "@/modules/vlc-player/src/VlcPlayer.types"; import React, { useEffect, useState } from "react"; import { TouchableOpacity, View, ViewProps } from "react-native"; import { useSafeAreaInsets } from "react-native-safe-area-context"; import { Text } from "../common/Text"; import { useTranslation } from "react-i18next"; interface Props extends ViewProps { playerRef: React.RefObject; } export const VideoDebugInfo: React.FC = ({ playerRef, ...props }) => { const [audioTracks, setAudioTracks] = useState(null); const [subtitleTracks, setSubtitleTracks] = useState( null ); useEffect(() => { const fetchTracks = async () => { if (playerRef.current) { const audio = await playerRef.current.getAudioTracks(); const subtitles = await playerRef.current.getSubtitleTracks(); setAudioTracks(audio); setSubtitleTracks(subtitles); } }; fetchTracks(); }, [playerRef]); const insets = useSafeAreaInsets(); const { t } = useTranslation(); return ( {t("player.playback_state")} {t("player.audio_tracks")} {audioTracks && audioTracks.map((track, index) => ( {track.name} ({t("player.index")} {track.index}) ))} {t("player.subtitles_tracks")} {subtitleTracks && subtitleTracks.map((track, index) => ( {track.name} ({t("player.index")} {track.index}) ))} { if (playerRef.current) { playerRef.current.getAudioTracks().then(setAudioTracks); playerRef.current.getSubtitleTracks().then(setSubtitleTracks); } }} > {t("player.refresh_tracks")} ); };