8

私のアプリには音楽(iPodMusic)が含まれており、再生/一時停止を切り替えるUISwitchがあります。私の目標は、音楽が再生されているかどうかを検出できるようにすることです。そのため、再生/一時停止スイッチは、音楽が再生されているときに「再生」し、そうでない場合は「一時停止」と言うことができます。

4

4 に答える 4

21
if ([[MPMusicPlayerController iPodMusicPlayer] playbackState] == MPMusicPlaybackStatePlaying) ...
于 2010-02-16T16:35:53.250 に答える
2

音楽が独自のアプリからのものである場合は、AVAudioPlayer のplayingプロパティを確認してください。

音楽が iPod からのものである場合は、MPMusicPlayerController のnowPlayingItemまたはplaybackStateプロパティを確認します。

于 2010-02-16T16:37:36.367 に答える
1

MPMusicPlayerController は、OS 3.0 以降でのみ使用できます。2.0 を実行している場合は、運が悪いです。これは、3.0 以降を実行しているかどうかを確認し、MPMuiscPlayerController の作成を試みるコード スニペットです。

bool playerDetectedAndPlaying = false;
NSString *reqSysVer = @"3.0";
NSString *currSysVer = [[UIDevice currentDevice] systemVersion];
if ([currSysVer compare:reqSysVer options:NSNumericSearch] != NSOrderedAscending){
    Class MusicPlayerController = NSClassFromString(@"MPMusicPlayerController");
    if (MusicPlayerController){         
        id myMusicPlayerController = [[MusicPlayerController alloc]init];
        id MusicPlayer = [[myMusicPlayerController class] iPodMusicPlayer ];
        if ( [ MusicPlayer playbackState ] == MPMusicPlaybackStatePlaying ) {
            playerDetectedAndPlaying = true;
        }
    }
}

3.0 SDK に対してコンパイルする必要がありますが、展開ターゲットを 2.0 に設定すると、このコードは古いデバイスでも実行されます。

于 2010-03-21T19:05:15.793 に答える
0

iTunesサウンドがオンの場合はyesになり、iTunesミュージックプレーヤーのサウンドがオフの場合はnoになります...したがって、デフォルトのMusicPlayerサウンドがオンまたはオフであることを簡単に確認できますメディアプレーヤーフレームワークを追加する必要があります試してみてください正しく動作します.... Thx ... :)

   if ([[MPMusicPlayerController iPodMusicPlayer] playbackState] == MPMusicPlaybackStatePlaying)
    {
           NSLog(@"yes itune Player Sound is on");
    }
    else
    {
          NSLog(@"NO itune Player Sound is not on");
    }
于 2016-06-16T11:01:12.317 に答える