Add iOS AVPlayer voice backend
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user