Получить музыкальный файл из Cloudkit

Я пытаюсь преобразовать код, который я использую, чтобы получить изображение актива, чтобы получить mp3-файл на cloudkit. Тем не менее, я не могу понять часть данных. Я использую эту библиотеку для воспроизведения аудио. Он имеет только один класс с именем "AudioPlayer", поэтому, если я хочу воспроизводить музыку в локальной папке, достаточно объявить ее.

https://github.com/tbaranes/AudioPlayerSwift

   func loadSong(completion:@escaping (_ song: AudioPlayer?) -> ()) {
            // 1
            DispatchQueue.global(qos: DispatchQoS.QoSClass.background).async {
                var song: AudioPlayer!
                defer {
                    completion(song)
                }
                // 2
                guard let asset = self.record["Song_File"] as? CKAsset else {
                    return
                }

                let songData: AudioPlayer
                do {
                    songData = try Data(contentsOf: asset.fileURL)
                } catch {
                    return
                }
                song = AudioPlayer(contentsOf: <#T##URL#>)

                      }
        }

1 ответ

На самом деле, я не могу четко делать то, что хочу. (Я хотел транслировать песню из CloudKit, этот загружает ckasset). Ниже код получает URL CkAsset, так что я могу поместить его в AVPlayer и воспроизвести.

func loadSongURL(completion:@escaping (_ url: URL?) -> ()) {
        // 1
        DispatchQueue.global(qos: DispatchQoS.QoSClass.background).async {
            var song_url: URL!
            defer {
                completion(song_url)
            }
            // 2
            guard let asset = self.record["Song_File"] as? CKAsset else {
                return
            }

            let songURL: URL
            do {
                print(asset.fileURL)
                songURL = asset.fileURL
            } catch {
                return
            }
           song_url = songURL
Другие вопросы по тегам