Я нуб.У меня есть некоторый опыт программирования, но я новичок в Swift 4 и Xcode 9.2.
Я брал уроки и читал.Я реализовал один из множества примеров Music Player.Я расширил его для отображения метатданных песни.Это отлично работает.
Я реализовал функцию AVAudioPlayerDelegate audioPlayerDidFinishPlaying ().В этой функции я беру метаданные следующих песен, устанавливаю переменные представления и воспроизводю песню.Песня воспроизводится, но старые метаданные песни остаются.
Как обновить представление новыми метаданными?
Заранее извиняюсь за такой простой вопрос.Я интенсивно искал ответ и либо не понял, либо, кажется, не подходит.Будь добр, я старый и хрупкий.
import UIKit
import AVFoundation
class SecondViewController: UIViewController, AVAudioPlayerDelegate {
@IBOutlet weak var currentSongArtwork: UIImageView!
@IBOutlet weak var currentSongTitle: UILabel!
var audioPlayer = AVAudioPlayer()
override func viewDidLoad() {
super.viewDidLoad()
playSong()
}
func playSong() {
extractSongMetaData()
currentSongTitle.text = extractedSongTitle
currentSongArtwork = extractedSongArtwork
let audioPath = Bundle.main.path(forResource: songs[currentSongIndex], ofType: ".m4a")
try audioPlayer = AVAudioPlayer(contentsOf: NSURL(fileURLWithPath: audioPath!) as URL)
audioPlayer.delegate = self
audioPlayer.play()
}
func audioPlayerDidFinishPlaying(_ player: AVAudioPlayer, successfully flag: Bool) {
// Increment currentSongIndex
playSong()
}
}