From 728b7a0d4585b0b84aa2ddc9a762230df5e253f5 Mon Sep 17 00:00:00 2001 From: Francesco <100066266+cranci1@users.noreply.github.com> Date: Sun, 8 Jun 2025 11:47:54 +0200 Subject: [PATCH] =?UTF-8?q?who=20tf=20does=20this=20work=20=F0=9F=98=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MediaPlayer/CustomPlayer/CustomPlayer.swift | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Sora/Utils/MediaPlayer/CustomPlayer/CustomPlayer.swift b/Sora/Utils/MediaPlayer/CustomPlayer/CustomPlayer.swift index 7f213bc..c7a3188 100644 --- a/Sora/Utils/MediaPlayer/CustomPlayer/CustomPlayer.swift +++ b/Sora/Utils/MediaPlayer/CustomPlayer/CustomPlayer.swift @@ -2159,14 +2159,14 @@ class CustomMediaPlayerViewController: UIViewController, UIGestureRecognizerDele let asset = AVURLAsset(url: url, options: ["AVURLAssetHTTPHeaderFieldsKey": request.allHTTPHeaderFields ?? [:]]) let playerItem = AVPlayerItem(asset: asset) - var audioApplied = false let audioTrackToApply = lastSelectedAudioTrack - let observer = playerItem.observe(\.status, options: [.new]) { [weak self] item, change in + let observer = playerItem.observe(\.status, options: [.new]) { [weak self] item, _ in guard let self = self else { return } - if item.status == .readyToPlay, !audioApplied { - audioApplied = true - if let lastAudio = audioTrackToApply { - self.switchToAudioTrack(named: lastAudio) + if item.status == .readyToPlay { + if let audioTrackName = audioTrackToApply, + let group = item.asset.mediaSelectionGroup(forMediaCharacteristic: .audible), + let option = group.options.first(where: { $0.displayName == audioTrackName }) { + playerItem.select(option, in: group) } } }