From d48a03f93db283bbf69a786372bd35c820225add Mon Sep 17 00:00:00 2001 From: Mikhail Kilin Date: Thu, 21 May 2026 15:57:23 +0300 Subject: [PATCH] Add iOS AVPlayer voice backend --- .../TeleTuiIOSCore/PlatformServices.swift | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/apps/ios/TeleTuiIOS/Sources/TeleTuiIOSCore/PlatformServices.swift b/apps/ios/TeleTuiIOS/Sources/TeleTuiIOSCore/PlatformServices.swift index 5d3b8fc..f313572 100644 --- a/apps/ios/TeleTuiIOS/Sources/TeleTuiIOSCore/PlatformServices.swift +++ b/apps/ios/TeleTuiIOS/Sources/TeleTuiIOSCore/PlatformServices.swift @@ -166,6 +166,28 @@ public protocol VoicePlayback: Sendable { func seek(to seconds: TimeInterval) async } +public actor SystemVoicePlayer: VoicePlayback { + private var player: AVPlayer? + + public init() {} + + public func load(url: URL) async throws { + player = AVPlayer(url: url) + } + + public func play() async { + player?.play() + } + + public func pause() async { + player?.pause() + } + + public func seek(to seconds: TimeInterval) async { + await player?.seek(to: CMTime(seconds: seconds, preferredTimescale: 600)) + } +} + public actor RecordingVoicePlayer: VoicePlayback { public private(set) var loadedURL: URL? public private(set) var isPlaying = false