Aktualisieren Sie einen Var mit einem Song -Titel, wenn das Lied endet?IOS

Programmierung für iOS
Anonymous
 Aktualisieren Sie einen Var mit einem Song -Titel, wenn das Lied endet?

Post by Anonymous »

Ich versuche, Text () den aktuellen Spielsong auf meinem Gerät (SongTitle) zu reflektieren, und ich kann scheinbar schockierend eine Antwort finden
Dies ist meine Haupthandlerklasse < /p> < Br />let musicPlayer = MPMusicPlayerController.systemMusicPlayer
var songTitle = musicPlayer.nowPlayingItem?.title ?? "No song playing"

class MusicMonitor: ObservableObject {
private let player = MPMusicPlayerController.systemMusicPlayer

init() {
NotificationCenter.default.addObserver(
forName: .MPMusicPlayerControllerNowPlayingItemDidChange,
object: player,
queue: OperationQueue.main) { (note) in
self.updateCurrentSong()
printTest(inp:("Song changed " + (self.player.nowPlayingItem?.title ?? "No song playing")))
}

player.beginGeneratingPlaybackNotifications()
updateCurrentSong() // Get initial song
}

private func updateCurrentSong() {
if let nowPlayingItem = player.nowPlayingItem {
songTitle = nowPlayingItem.title ?? "No song playing" // Your next song logic here
}
}

deinit {
player.endGeneratingPlaybackNotifications()
}
}
< /code>
Dies ist hauptsächlich Code, den ich aus anderen Foren zusammengesetzt habe, aber es scheint überhaupt nicht zu aktualisieren, wenn sich der Song ändert. Es macht den Song anfangs richtig, wenn Sie die App öffnen, aber niemals aktualisiert.
Ich bin auch bewusst Gehen Sie zurück und räumen Sie es auf, sobald ich vertraut bin und ich weiß, dass ich nicht alles brechen kann. Ich habe auch eine Methode ausprobiert, um die Dauer des Songs zu erhalten, aber es bricht, wenn Sie das Lied überspringen. Es funktioniert manuell mit einem Knopfdruck, aber es tut nicht das, was ich tun muss, da es im Idealfall keine Benutzerinteraktion beinhaltet. < /P>
Jede Hilfe wäre stark geschätzt!

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post