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"; 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(); return ( Playback State: Audio Tracks: {audioTracks && audioTracks.map((track, index) => ( {track.name} (Index: {track.index}) ))} Subtitle Tracks: {subtitleTracks && subtitleTracks.map((track, index) => ( {track.name} (Index: {track.index}) ))} { if (playerRef.current) { playerRef.current.getAudioTracks().then(setAudioTracks); playerRef.current.getSubtitleTracks().then(setSubtitleTracks); } }} > Refresh Tracks ); };