What problem does it solve? Building audio and video features for a VSTEP exam mobile app requires handling playback restrictions, recording permissions, and TTS correctly with expo-av and expo-speech, which is error-prone without established patterns. ## Core Features & Use Cases - Exam Audio Playback: Play listening exam audio once with no seek or replay, custom progress UI, and automatic cleanup on unmount. - Speaking Recording: Record speaking exam answers with permission handling, countdown timers, review playback, and typed FormData upload. - Text-to-Speech Shadowing: Provide pronunciation practice with adjustable speech rate and speaking-state tracking, restricted to practice mode. - Use Case: When building the listening section of the VSTEP mobile app, apply these patterns to enforce play-once rules, show a 3-second countdown, and render a custom progress bar without native controls. ## Quick Start Implement the listening exam audio player for the mobile app following the expo-av play-once pattern with a custom progress bar.