update default subtitesize absed on screen width

This commit is contained in:
tapframe 2025-10-24 21:07:40 +05:30
parent 2b2b838745
commit 23bdd9a5ca
3 changed files with 25 additions and 9 deletions

View file

@ -19,7 +19,8 @@ import { useMetadata } from '../../hooks/useMetadata';
import { useSettings } from '../../hooks/useSettings';
import {
DEFAULT_SUBTITLE_SIZE,
DEFAULT_SUBTITLE_SIZE,
getDefaultSubtitleSize,
AudioTrack,
TextTrack,
ResizeModeType,
@ -2309,12 +2310,14 @@ const AndroidVideoPlayer: React.FC = () => {
try { await AsyncStorage.removeItem(SUBTITLE_SIZE_KEY); } catch {}
return;
}
// If no saved settings, use default
setSubtitleSize(DEFAULT_SUBTITLE_SIZE);
// If no saved settings, use responsive default
const screenWidth = Dimensions.get('window').width;
setSubtitleSize(getDefaultSubtitleSize(screenWidth));
} catch (error) {
logger.error('[AndroidVideoPlayer] Error loading subtitle size:', error);
// Fallback to default on error
setSubtitleSize(DEFAULT_SUBTITLE_SIZE);
// Fallback to responsive default on error
const screenWidth = Dimensions.get('window').width;
setSubtitleSize(getDefaultSubtitleSize(screenWidth));
}
};

View file

@ -21,6 +21,7 @@ import { useSettings } from '../../hooks/useSettings';
import {
DEFAULT_SUBTITLE_SIZE,
getDefaultSubtitleSize,
AudioTrack,
TextTrack,
ResizeModeType,
@ -1754,12 +1755,14 @@ const KSPlayerCore: React.FC = () => {
try { await AsyncStorage.removeItem(SUBTITLE_SIZE_KEY); } catch {}
return;
}
// If no saved settings, use default
setSubtitleSize(DEFAULT_SUBTITLE_SIZE);
// If no saved settings, use responsive default
const screenWidth = Dimensions.get('window').width;
setSubtitleSize(getDefaultSubtitleSize(screenWidth));
} catch (error) {
logger.error('[VideoPlayer] Error loading subtitle size:', error);
// Fallback to default on error
setSubtitleSize(DEFAULT_SUBTITLE_SIZE);
// Fallback to responsive default on error
const screenWidth = Dimensions.get('window').width;
setSubtitleSize(getDefaultSubtitleSize(screenWidth));
}
};

View file

@ -7,6 +7,16 @@ export const RESUME_PREF = {
};
export const SUBTITLE_SIZE_KEY = '@subtitle_size_preference';
// Helper function to get responsive subtitle size based on screen width
export const getDefaultSubtitleSize = (screenWidth: number): number => {
if (screenWidth >= 1440) return 65; // TV
if (screenWidth >= 1024) return 55; // Large tablet
if (screenWidth >= 768) return 45; // Tablet
return 30; // Phone
};
// Keep the constant for backward compatibility, using phone size as base
export const DEFAULT_SUBTITLE_SIZE = 30;
// Define the TrackPreferenceType for audio/text tracks