0

でミュージックアプリをやっていiPodMusicPlayerControllerます。

私はiPodLibraryの曲を上手に再生しています。

ただし、1つ。

iPod Libraryから曲を再生していて、サファリなどにアクセスしてWebから音楽や映画を再生すると、アプリの再生が停止します。

Webから再生した後、アプリに戻り、機能しなくなった再生ボタンをタップします。

これが私の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];
    }

また、通知を登録しました。

どうすれば解決できますか?

4

1 に答える 1

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];
    }
于 2013-03-03T13:55:23.367 に答える