Frage

Meine App beinhaltet Musik (iPodMusic), und es gibt eine UISwitch Wiedergabe / Pause Makeln. Mein Ziel ist es, zu erkennen, ob Musik zu spielen ist, so dass also die Wiedergabe / Pause-Schalter sagen können, ‚spielen‘, wenn die Musik spielt und ‚Pause‘, wenn es nicht ist.

War es hilfreich?

Lösung

if ([[MPMusicPlayerController iPodMusicPlayer] playbackState] == MPMusicPlaybackStatePlaying) ...

Andere Tipps

Wenn die Musik ist von Ihrer eigenen App, Scheck AVAudioPlayer der playing Eigenschaft .

Wenn die Musik vom iPod ist, Scheck MPMusicPlayerController des nowPlayingItem oder playbackState Eigenschaft.

MPMusicPlayerController ist nur in OS 3.0 oder höher verfügbar. Wenn Sie 2.0 laufen du ist kein Glück. Hier ist ein Code-Snippet, dass die Kontrollen, wenn Sie 3.0 oder höher und nur dann Versuche laufen eine MPMuiscPlayerController

zu erstellen
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;
        }
    }
}

Sie haben gegen eine 3.0 SDK zu kompilieren, aber wenn Sie das Implementierungsziel auf 2,0 gesetzt, dieser Code läuft immer noch auf älteren Geräten.

es geht auf yes, wenn Sie Ihre iTunes-Sound auf sonst geht es nicht an, wenn Ton aus dem iTunes-Musik-Player ist ... So können Sie leicht Musicplayer Ton ein- oder ausschalten Sie müssen Medien-Player Framework nur Standard überprüfen hinzufügen versuchen sie es funktioniert richtig .... Thx ...:)

   if ([[MPMusicPlayerController iPodMusicPlayer] playbackState] == MPMusicPlaybackStatePlaying)
    {
           NSLog(@"yes itune Player Sound is on");
    }
    else
    {
          NSLog(@"NO itune Player Sound is not on");
    }
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top