4

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が更新されていないと思いますが大丈夫ですか?

4

1 に答える 1

3

問題は次のとおりだと思います。

MPMusicPlaybackState playbackState = [musicPlayer playbackState];

iOS5 では常に正しいとは限りません。

これは私にとってはうまくいきます:

if (!isPlay) 
{    
   isPlay = TRUE;
   [appPlayer play];
}
else 
{
   isPlay = FALSE;
   [appPlayer pause];
}
于 2012-01-16T19:06:25.207 に答える