A headless audio player for shared Kotlin code: one AudioPlayer interface over MediaPlayer on Android and AVPlayer on iOS, a typed PlayerState flow with the position in it, and an explicit release contract that makes double-release and use-after-release inert instead of fatal. Pick this module if you need to play a sound, a voice message, or a track from common code without pulling in ExoPlayer, a UI framework, or a DI container.