Domanda

La mia app coinvolge musica (iPodMusic), e c'è un UISwitch commutazione play / pausa. Il mio obiettivo è quello di essere in grado di rilevare se la musica è in riproduzione, in modo che, pertanto, l'interruttore di riproduzione / pausa può dire 'play' quando la musica è in riproduzione e 'pausa', se non lo è.

È stato utile?

Soluzione

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

Altri suggerimenti

Se la musica è dal tuo app, selezionare di AVAudioPlayer proprietà playing .

Se la musica è da iPod, controllare di MPMusicPlayerController proprietà nowPlayingItem o playbackState.

MPMusicPlayerController è disponibile solo in OS 3.0 o superiore. Se stai usando 2,0 sei fuori di fortuna. Ecco un frammento di codice che controlla se si sta eseguendo 3.0 o superiore e solo allora i tentativi di creare un 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;
        }
    }
}

Si deve compilare contro uno SDK 3.0, ma se si imposta la destinazione di distribuzione a 2.0, questo codice viene eseguito ancora sui vecchi dispositivi.

va al sì se il vostro suono iTunes è su altro si va a nessuno se il suono è fuori di lettore di musica iTunes ... in modo da poter comodamente verificare difetto MusicPlayer suono è On o Off È necessario aggiungere Framework media-player Basta Provalo funzionerà correttamente .... Thx ...:)

   if ([[MPMusicPlayerController iPodMusicPlayer] playbackState] == MPMusicPlaybackStatePlaying)
    {
           NSLog(@"yes itune Player Sound is on");
    }
    else
    {
          NSLog(@"NO itune Player Sound is not on");
    }
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top