【问题标题】:Did MPMusicPlayerController change with iOS 5?MPMusicPlayerController 是否随着 iOS 5 的变化而改变?
【发布时间】:2012-01-13 17:47:48
【问题描述】:

我有一个在 iOS 4.3 中正常运行的应用程序,升级到 iOS 5 后,它的行为方式有所不同。
在 iOS 4.3 上执行这些行之后,mp.playbackState 设置为 MPMusicPlaybackStatePaused,但在 iOS 5 中它仍然设置为 MPMusicPlaybackStatePlaying。

MPMusicPlayerController *mp = [MPMusicPlayerController applicationMusicPlayer];
if(mp.playbackState == MPMusicPlaybackStatePlaying)
    [mp pause];

我假设playbackState 没有在同一个事件循环中更新,可以吗?

【问题讨论】:

标签: ios mpmusicplayercontroller


【解决方案1】:

我认为问题是:

MPMusicPlaybackState playbackState = [musicPlayer playbackState];

在 iOS5 中并不总是正确的。

这对我有用:

if (!isPlay) 
{    
   isPlay = TRUE;
   [appPlayer play];
}
else 
{
   isPlay = FALSE;
   [appPlayer pause];
}

【讨论】:

  • 我不得不这样做,因为我想不出另一种解决方案。
  • 我有同样的问题,这是一个错误吗?你们有时将 NULL 视为 .playbackState 吗?
  • 不,我从未见过 NULL。最终我使用了 MPMusicPlayerControllerPlaybackStateDidChangeNotification 因为我得到了正确的播放状态。
  • iOS SDK 中的这些 bug 实在是太浪费时间了,我们的生命都被 Apple 的粗心和不愿修复自己的错误所消耗。
猜你喜欢
  • 2015-12-27
  • 1970-01-01
  • 2021-07-04
  • 2023-03-06
  • 2014-06-25
  • 1970-01-01
  • 2018-09-15
  • 2021-12-05
  • 1970-01-01
相关资源
最近更新 更多