Skingomz/AirPlayButton.swift
0 → 100644
+30
−0
+10
−2
Loading
What the lock screen, Control Center and CarPlay were missing, and one
control the player lacked.
Speed can now be changed from the lock screen and CarPlay: the rate
command is registered with the same speeds the player offers, now a
single list in PlaybackSettings rather than a private copy in the view.
Radios are published as live streams. The lock screen drew a progress bar
for a stream that never ends; it now shows it as live, and seeking,
skipping and speed are greyed out there instead of offered and silently
ignored.
The chapter being played is published — number, count, and its title
where CarPlay shows it. The controller deliberately does not notify on
every position update, so the coordinator watches the position itself
and republishes only when a boundary is crossed.
The player gets the system AirPlay picker, iOS only: on macOS it would
need the AVPlayer PlaybackKit keeps to itself, and output is chosen from
the menu bar there anyway.
Verified on an iOS 26 simulator: 8 speeds and a default rate of 1
published; FIP published as live; chapters going from "1/3 Introduction"
to "2/3 Analyse de la situation" on their own when playback crossed the
600 s mark, with a single republish at the boundary.
Co-Authored-By:
Claude Opus 5.5 <noreply@anthropic.com>