Erkennen, ob die Musik spielt?
-
20-09-2019 - |
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.
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 erstellenbool 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");
}