2012-01-13 54 views
4

我有一個應用程序,在iOS 4.3中正常工作,升級到iOS 5後,它的行爲以另一種方式。
在iOS 4.3上執行這些行後,mp.playbackState被設置爲MPMusicPlaybackStatePaused,但是在iOS 5中它仍然被設置爲MPMusicPlaybackStatePlaying。MPMusicPlayerController是否隨iOS 5更改?

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

我假設playbackState沒有在同一事件循環內更新,可以嗎?

+0

我不得不做出描述這裏]類似的解決方法[1] [1]:http://stackoverflow.com/questions/10118726 /越來越錯誤播放狀態在mp音樂播放器控制器在ios-5 – matbur 2012-04-13 05:58:42

回答

3

我認爲這個問題是:

MPMusicPlaybackState playbackState = [musicPlayer playbackState]; 

在iOS5中並不總是正確的。

這項工作對我來說:

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

我不得不這樣做,因爲我無法找出另一種解決方案。 – OtoLeo 2012-01-17 15:27:36

+0

我有同樣的問題,這是一個錯誤?你們有時看到.playbackState爲NULL嗎? – 2012-01-29 05:19:58

+0

不,我從來沒有見過NULL。最終我使用了** MPMusicPlayerControllerPlaybackStateDidChangeNotification **,因爲我得到了正確的playbackState。 – OtoLeo 2012-01-30 14:57:44

相關問題