Question

Mon application implique la musique (iPodMusic), et il y a un UISwitch basculer lecture / pause. Mon objectif est d'être en mesure de détecter si la musique joue, de sorte que, par conséquent l'interrupteur de lecture / pause peut dire « jouer » quand la musique joue et « pause » si elle est pas.

Était-ce utile?

La solution

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

Autres conseils

Si la musique est de votre propre application, vérifiez AVAudioPlayer de de propriété playing.

Si la musique est de l'iPod, vérifiez nowPlayingItem de MPMusicPlayerController ou la propriété playbackState.

MPMusicPlayerController est uniquement disponible sous Mac OS 3.0 ou supérieur. Si vous utilisez 2.0 vous êtes hors de la chance. Voici un extrait de code qui vérifie si vous utilisez 3.0 ou au-dessus et ne tente alors de créer 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;
        }
    }
}

Vous devez compiler contre un SDK 3.0, mais si vous définissez la cible de déploiement à 2.0, ce code fonctionne toujours sur les appareils plus anciens.

il va oui si votre son iTunes est sinon il va pas si le son est hors du lecteur de musique iTunes ... Vous pouvez donc facilement vérifier par défaut MusicPlayer Sound est Activé ou Désactivé Vous devez ajouter Framework-lecteur multimédia Juste Essayez-le, il fonctionnera correctement .... Thx ...:)

   if ([[MPMusicPlayerController iPodMusicPlayer] playbackState] == MPMusicPlaybackStatePlaying)
    {
           NSLog(@"yes itune Player Sound is on");
    }
    else
    {
          NSLog(@"NO itune Player Sound is not on");
    }
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top