Player.swift
501 bytes
1import AVFoundation
2
3final class Player {
4 private var player: AVAudioPlayer?
5
6 func play(_ data: Data) throws {
7 stop()
8 #if os(iOS)
9 let session = AVAudioSession.sharedInstance()
10 try session.setCategory(.playback, mode: .spokenAudio)
11 try session.setActive(true)
12 #endif
13 let player = try AVAudioPlayer(data: data)
14 player.play()
15 self.player = player
16 }
17
18 func stop() {
19 player?.stop()
20 player = nil
21 }
22}