2016-07-14 3 views
5

ich zur Zeit der folgenden Anweisung bin mit Musik zu erkennen:Swift - Musik spielen Erkennen, ob es Spotify oder iTunes

if MPMusicPlayerController.systemMusicPlayer().playbackState == .Playing { 
    print("There is music playing") 
} 

groß ist, wird dies jedoch nur für iTunes-Player arbeitet, und nicht die Musik, die kommen könnte von einer anderen App, speziell im Gespräch über Spotify.

Ich brauche nicht das gespielte Lied zu wissen, einfach, ob irgendetwas überhaupt spielt, also kann ich entscheiden, ob ich meine eigene Hintergrundmusik für mein Spiel anbiete oder nicht.

Edit: Idealerweise sollte die Lösung alle 3rd Party Musikprogramme abdecken, nicht nur Spotify.

Antwort

10

Bei iOS: How do I detect if music is playing in any background music app?

die Swift-Version wäre:

let isOtherAudioPlaying = AVAudioSession.sharedInstance().isOtherAudioPlaying() 

legen jedoch nahe, die developer docs dass mit iOS 8.0 Starten Sie secondaryAudioShouldBeSilencedHint stattdessen verwenden sollten:

if (AVAudioSession.sharedInstance().secondaryAudioShouldBeSilencedHint()) { 
    print("another application with a non-mixable audio session is playing audio") 
} 
+1

können wir bekommen, was ist Spielen Sie jetzt mit AVAudioPlayer? oder vielleicht die Daten bekommen? oder irgendwelche anderen Infos dazu? –

Verwandte Themen