Untertitel kommen aus der Datei, und Fortsetzen geht wieder

Im Spurenblatt stand „CC" und sonst nichts — derselbe Fehler wie beim Ton:
das ist AVFoundations Name für den einen Untertitel, den ein umgerechneter
Stream mitbringt. Zur Auswahl steht jetzt, was in der Datei liegt, und die
Nummer geht als `subtitleStreamIndex` mit in die Anfrage.

`-1` heisst dabei ausdrücklich „keine". Das ist nicht dasselbe wie nichts zu
schicken: dann sucht der Server sich einen aus, und es steht plötzlich ein
Untertitel im Bild, den niemand bestellt hat.

Und der Klick ins Bild: Anhalten ging, Fortsetzen nicht. Der Abdunkler
hinter der Bedienung deckt das ganze Fenster ab und lag über dem Film —
solange die Bedienung zu sehen war, landete jeder Klick auf ihm. Auffallen
konnte das nur an einer Stelle: nach dem Pausieren bleibt die Bedienung
stehen, also traf der Klick, der wieder starten sollte, nie das Bild. Der
Abdunkler ist jetzt unantastbar; er dunkelt ab, mehr nicht.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Scarriffle
2026-09-28 19:14:07 +02:00
co-authored by Claude Opus 5
parent 60194c2d2a
commit 67c679006f
6 changed files with 140 additions and 11 deletions
+8 -6
View File
@@ -72,18 +72,20 @@ struct TrackPickerSheet: View {
// mehreren, keine getrennte Eigenschaft.
row(
title: String(localized: "player.subtitlesOff"),
isSelected: model.selectedSubtitleTrack == nil
isSelected: model.selectedSubtitleStream == nil
) {
model.selectSubtitleTrack(nil)
Task { await model.selectSubtitleStream(nil) }
dismiss()
}
ForEach(model.subtitleTracks) { track in
// Wie beim Ton die Spuren der Datei: ein umgerechneter
// Stream bringt genau einen mit, und der heisst „CC".
ForEach(model.subtitleStreams) { stream in
row(
title: track.displayName,
isSelected: model.selectedSubtitleTrack == track
title: stream.name,
isSelected: model.selectedSubtitleStream == stream
) {
model.selectSubtitleTrack(track)
Task { await model.selectSubtitleStream(stream) }
dismiss()
}
}