я создаю музыкальный проигрыватель, используя AVAudioPlayer()
, поэтому у меня есть несколько URL-адресов аудиофайлов в формате JSON
, поэтому я отображаю все в виде таблицы и затем на didSelect
я играю выбранную песню, но я хочу воспроизвести следующую песню нанажмите здесь, вот мой код для воспроизведения песни на didSelect
didSelect Code
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let urlstring = songs[indexPath.row]
let strnew = urlstring.replacingOccurrences(of: "\"", with: "")
downloadFileFromURL(url: strnew)
}
Вот моя функция для загрузки аудио с URL
func downloadFileFromURL(url: String) {
if let audioUrl = URL(string: url) {
let documentsDirectoryURL = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!
let destinationUrl = documentsDirectoryURL.appendingPathComponent(audioUrl.lastPathComponent)
print(destinationUrl)
if FileManager.default.fileExists(atPath: destinationUrl.path) {
print("The file already exists at path")
self.play(url: destinationUrl)
} else {
URLSession.shared.downloadTask(with: audioUrl, completionHandler: { (location, response, error) -> Void in
guard let location = location, error == nil else { return }
do {
try FileManager.default.moveItem(at: location, to: destinationUrl)
self.play(url: destinationUrl)
print("File moved to documents folder")
} catch let error as NSError {
print(error.localizedDescription)
}
}).resume()
}
}
}
С приведенным ниже кодом я играю аудио
func play(url: URL) {
print("playing \(url)")
do {
audioPlayer = try AVAudioPlayer(contentsOf: url)
audioPlayer.prepareToPlay()
audioPlayer.volume = 1.0
audioPlayer.play()
} catch let error as NSError {
print("playing error: \(error.localizedDescription)")
} catch {
print("AVAudioPlayer init failed")
}
}
, но я не могу понять, как играть следующую песню при нажатии следующей кнопки. Я делюсь снимком экрана с моим User Interface
ниже
![Here is the screenshot please check](https://i.stack.imgur.com/M8OlG.png)
on didSelect
Я могу воспроизвести выбранную песню, но как управлять следующей предыдущей, я не уверен, пожалуйста, помогите мне с этим.