【问题标题】:Apple Music Songs - MPMusicPlayerController giving wrong playbackStateApple Music Songs - MPMusicPlayerController 给出错误的播放状态
【发布时间】:2018-06-25 04:32:45
【问题描述】:

正如 Apple 在 iOS 9.3 中所说,我们可以Access Apple Music Library。我正在通过MPMusicPlayerController 在我的应用程序中播放它。

我得到错误的播放状态。对于前。如果歌曲继续播放 - 所以它应该返回状态 MPMusicPlaybackStatePlaying 但获取其他枚举值。我的代码是

 if ([[MPMusicPlayerController systemMusicPlayer] playbackState]==MPMusicPlaybackStatePlaying)
            {
            }
            else
            {
 NSLog(@"playbackState %ld",(long)[[MPMusicPlayerController systemMusicPlayer] playbackState]);
             }

正如苹果所说 here 我们有以下可能的价值 -

Values for the playbackState property.
Declaration

Objective-C

enum {
   MPMusicPlaybackStateStopped,
   MPMusicPlaybackStatePlaying,
   MPMusicPlaybackStatePaused,
   MPMusicPlaybackStateInterrupted,
   MPMusicPlaybackStateSeekingForward,
   MPMusicPlaybackStateSeekingBackward 
};
typedef NSInteger MPMusicPlaybackState;

如何获得当前播放歌曲的正确状态。任何想法,如果我弄错了什么,请告诉我。谢谢

【问题讨论】:

    标签: ios mpmusicplayercontroller apple-music


    【解决方案1】:

    这太疯狂了,但这很有效:

    _ = systemMusicPlayer.currentPlaybackRate        
    DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) { [weak self] in
        print(self?.systemMusicPlayer.playbackState)
    }
    

    【讨论】:

      【解决方案2】:

      我也遇到过这个问题。所以解决方法是:每隔 n 秒检查一次[[MPMusicPlayerController systemMusicPlayer] currentPlaybackRate] 属性。 1 对应“正在播放”,0 对应“暂停”(或停止)。

      【讨论】:

      • 对 iOS 12 没有帮助。它报告与 playbackState 相同的错误状态
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-29
      • 1970-01-01
      • 2023-04-04
      相关资源
      最近更新 更多