How to play audio from url

    func saveFile(url:URL){

        let docUrl:URL = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first! as URL

    let desURL = docUrl.appendingPathComponent(“sample.mp3”) //Use file name with ext

    var downloadTask:URLSessionDownloadTask

    downloadTask = URLSession.shared.downloadTask(with: url, completionHandler: { [weak self](URLData, response, error) -> Void in

        do{

            let isFileFound:Bool? = FileManager.default.fileExists(atPath: desURL.path)

            if isFileFound == true{

                print(desURL)

                self?.playSound(path: desURL.path)

            } else {

                try FileManager.default.copyItem(at: URLData!, to: desURL)

                self?.playSound(path: desURL.path)

            }

        }catch let err {

            print(err.localizedDescription)

        }

    })

    downloadTask.resume()

    }

    func playSound(path : String) {

        let url = URL(fileURLWithPath: path)

        do {

            //let data = try Data(contentsOf: url)

            player = try AVAudioPlayer(contentsOf: url)

            player?.play()

        } catch let error {

            print(error.localizedDescription)

        }

    }

USE HERE

 self.saveFile(url: yoururl)

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.