diff --git a/apps/expo/src/app/(tabs)/downloads.tsx b/apps/expo/src/app/(tabs)/downloads.tsx index b90d34e..6de2ce5 100644 --- a/apps/expo/src/app/(tabs)/downloads.tsx +++ b/apps/expo/src/app/(tabs)/downloads.tsx @@ -1,6 +1,5 @@ import type { Asset } from "expo-media-library"; import React from "react"; -import { Platform } from "react-native"; import { ScrollView } from "react-native-gesture-handler"; import { useRouter } from "expo-router"; import { MaterialCommunityIcons } from "@expo/vector-icons"; @@ -35,7 +34,7 @@ const DownloadsScreen: React.FC = () => { backgroundColor="$sheetItemBackground" icon={ @@ -50,7 +49,7 @@ const DownloadsScreen: React.FC = () => { } }} > - test local playback (expo-av) + test download (mp4) {downloads.map((item) => ( diff --git a/apps/expo/src/components/player/ControlsOverlay.tsx b/apps/expo/src/components/player/ControlsOverlay.tsx index 981f47b..f2514c2 100644 --- a/apps/expo/src/components/player/ControlsOverlay.tsx +++ b/apps/expo/src/components/player/ControlsOverlay.tsx @@ -4,7 +4,13 @@ import { BottomControls } from "./BottomControls"; import { Header } from "./Header"; import { MiddleControls } from "./MiddleControls"; -export const ControlsOverlay = ({ isLoading }: { isLoading: boolean }) => { +export const ControlsOverlay = ({ + isLoading, + isLocalAsset, +}: { + isLoading: boolean; + isLocalAsset: boolean; +}) => { return ( { >
{!isLoading && } - + {!isLocalAsset && } ); }; diff --git a/apps/expo/src/components/player/Header.tsx b/apps/expo/src/components/player/Header.tsx index bcc8746..fd8353b 100644 --- a/apps/expo/src/components/player/Header.tsx +++ b/apps/expo/src/components/player/Header.tsx @@ -13,7 +13,7 @@ export const Header = () => { const isIdle = usePlayerStore((state) => state.interface.isIdle); const meta = usePlayerStore((state) => state.meta); - if (!isIdle && meta) { + if (!isIdle) { return ( { - - {meta.title} ({meta.releaseYear}){" "} - {meta.season !== undefined && meta.episode !== undefined - ? mapSeasonAndEpisodeNumberToText( - meta.season.number, - meta.episode.number, - ) - : ""} - + {meta && ( + + {meta.title} ({meta.releaseYear}){" "} + {meta.season !== undefined && meta.episode !== undefined + ? mapSeasonAndEpisodeNumberToText( + meta.season.number, + meta.episode.number, + ) + : ""} + + )} { useEffect(() => { const initializePlayer = async () => { if (asset) { - setVideoSrc(asset); + const assetInfo = await MediaLibrary.getAssetInfoAsync(asset); + if (!assetInfo.localUri) return; + setVideoSrc({ + uri: assetInfo.localUri, + }); setIsLoading(false); return; } @@ -283,7 +288,7 @@ export const VideoPlayer = () => { position="absolute" /> )} - + {showVolumeOverlay && } {showBrightnessOverlay && (