swift URLSession响应数据音频文件保存和播放

swift URLSession response data audio file saving and playing

我在根据 URLSession 请求的响应数据保存和播放音频文件时遇到一些问题。如何从响应数据播放音频文件?

let task = URLSession.shared.dataTask(with: request) {data, response, error in
        if let error = error {
            print("Error:", error)
        }
        if let response = response {
             print("Voice Response:", response)
        }
        self.playMusic(data: data!)
    }

我自己解决了如下:

func playMusic(data: Data) {

    let fileURL = try! FileManager.default.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: false).appendingPathComponent("voice.mp3")

    do {
        try data.write(to: fileURL, options: .atomic)
    } catch {
        print("Error")
        print(error)
    }


    do{

        audio = try AVAudioPlayer(contentsOf: fileURL)
        audio.prepareToPlay()
        audio.play()
    }
    catch {
        print("Error")
    }
}