Я могу воспроизвести звук с одного URL.Но для воспроизведения звука требуется около 10 секунд.
@IBAction func playBtnTap(_ sender: Any) {
let url = URL(string: muscUrl!)!
let playerItem = AVPlayerItem(url: url)
self.player = AVPlayer(playerItem: playerItem)
self.player!.play()
}
Я новичок в iOS.Я не уверен, как я могу скачать URL аудио и затем воспроизвести этот звук?Я не хочу, чтобы эта 10-секундная задержка воспроизводила звук.
Обновление, я пытался:
override func viewDidLoad() {
super.viewDidLoad()
let urlstring = "http://radio.spainmedia.es/wp-content/uploads/2015/12/tailtoddle_lo4.mp3"
let url = NSURL(string: urlstring)
print("the url = \(url!)")
downloadFileFromURL(url: url!)
}
func downloadFileFromURL(url:NSURL){
var downloadTask:URLSessionDownloadTask
var request = URLRequest(url:url as URL)
downloadTask = URLSession.shared.downloadTask(with: request, completionHandler: { (URL, response, error) -> Void in
self.play(url: URL as! NSURL)
})
downloadTask.resume()
}
func play(url:NSURL) {
print("Playing \(url)")
do {
self.player = try AVAudioPlayer(contentsOf: url as URL)
player!.prepareToPlay()
player!.volume = 1.0
player!.play()
} catch let error as NSError {
//self.player = nil
print(error.localizedDescription)
} catch {
print("AVAudioPlayer init failed")
}
}
получить ошибку в консоли:
Операция не можетне будет завершено.(OSStatus error 1954115647.)
в строке self.player = try AVAudioPlayer(contentsOf: url as URL)