我正在使用iPodMusicPlayerController
进行音乐应用。
我很喜欢播放iPod库中的歌曲。
然而有一点。
当我从iPod库播放歌曲,我去野生动物园或其他东西,从网上播放音乐或电影时,我的应用程序停止播放。
从网上播放后,我会回到我的应用程序并点按不再有效的播放按钮。
这是我的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 :(得分: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];
}