beginGeneratingPlaybackNotifications不被称为

问题描述 投票:0回答:1

beginGeneratingPlaybackNotifications似乎未在我的应用中被调用。我可以获取storeIds并播放音乐(并且可以向前和向后跳过),但是似乎从未调用该通知。有什么建议或我想念的东西吗?

        let player = MPMusicPlayerController.applicationQueuePlayer

        // Trying all of these
        player.beginGeneratingPlaybackNotifications()
        MPMusicPlayerController.systemMusicPlayer.beginGeneratingPlaybackNotifications()
        MPMusicPlayerController.applicationMusicPlayer.beginGeneratingPlaybackNotifications()
        MPMusicPlayerController.applicationQueuePlayer.beginGeneratingPlaybackNotifications()

        NotificationCenter.default.addObserver(self,
                                               selector: #selector(refreshView),
                                               name: .MPMusicPlayerControllerPlaybackStateDidChange,
                                               object: self)


        NotificationCenter.default.addObserver(self,
                                               selector: #selector(refreshView),
                                               name: .MPMusicPlayerControllerNowPlayingItemDidChange,
                                               object: self)

    let queue  = MPMusicPlayerStoreQueueDescriptor(storeIDs: storeIds)
    player.setQueue(with: queue)
    player.play()

    // Never called
    @objc func refreshView(){
      let nowPlaying = player.nowPlayingItem
swift apple-music apple-musickit
1个回答
0
投票

这些行是错误的:

    NotificationCenter.default.addObserver(self,
                                           selector: #selector(refreshView),
                                           name: .MPMusicPlayerControllerPlaybackStateDidChange,
                                           object: self)


    NotificationCenter.default.addObserver(self,
                                           selector: #selector(refreshView),
                                           name: .MPMusicPlayerControllerNowPlayingItemDidChange,
                                           object: self)

更改

  object: self

收件人

  object: nil

两者都有。

© www.soinside.com 2019 - 2024. All rights reserved.