2013-03-03 61 views
0

我正在使用iPodMusicPlayerController做音乐应用程序。当在iOS中播放音频时,MPMusicPlayerController停止并且无法恢复

我很好玩iPod库中的歌曲。

但是有一件事。

当我从iPod库播放歌曲,我去Safari浏览器或其他东西,从网上播放音乐或电影,我的应用程序停止播放。

从网络播放后,我回到我的应用程序,并点击播放按钮,不工作了。

这是我的playOrPause操作代码。

MPMusicPlaybackState playbackState = self.player.playbackState; 
    if (playbackState == MPMusicPlaybackStateStopped || playbackState == MPMusicPlaybackStatePaused) 
    { 
     [self.playOrPauseButton setImage:[UIImage imageNamed:@"pauseiCon"] forState:UIControlStateNormal]; 
     [self.player play]; 
    } 

    else if (playbackState == MPMusicPlaybackStatePlaying) 
    { 
     [self.playOrPauseButton setImage:[UIImage imageNamed:@"playiCon"] forState:UIControlStateNormal]; 
     [self.player pause]; 
    } 

而且我还注册了通知。

我该如何解决它?

回答

0

我为自己的问题得到了解决方案。 :d

MPMusicPlaybackStateInterrupted

第一寄存器通知我们可以与物业检查中断。

MPMusicPlaybackState playbackState = [self.player playbackState]; 

    if (playbackState == MPMusicPlaybackStatePaused || playbackState == MPMusicPlaybackStateInterrupted) 
    { 
     [self.playOrPauseButton setImage:[UIImage imageNamed:@"playiCon"] forState:UIControlStateNormal]; 
    } 

    else if (playbackState == MPMusicPlaybackStatePlaying) 
    { 
     [self.playOrPauseButton setImage:[UIImage imageNamed:@"pauseiCon"] forState:UIControlStateNormal]; 
    } 

而且在playOrPause行动添加以下代码

MPMusicPlaybackState playbackState = self.player.playbackState; 

    if (playbackState == MPMusicPlaybackStateStopped || playbackState == MPMusicPlaybackStatePaused || playbackState == MPMusicPlaybackStateInterrupted) 
    { 
     [self.playOrPauseButton setImage:[UIImage imageNamed:@"pauseiCon"] forState:UIControlStateNormal]; 
     [self.player play]; 
    } 

    else if (playbackState == MPMusicPlaybackStatePlaying) 
    { 
     [self.playOrPauseButton setImage:[UIImage imageNamed:@"playiCon"] forState:UIControlStateNormal]; 
     [self.player pause]; 
    } 
相关问题