Home Code-Schnipsel Sound, Musik Abfragen ob der iPod Player gerade Musik abspielt

iPhone Gewinnspiel

Abfragen ob der iPod Player gerade Musik abspielt PDF Drucken E-Mail
Share
Geschrieben von: Philipp   
WEDNESDAY, 27 JANUARY 2010 19:07
Manchmal ist es notwendig zu wissen, ob der iPod Player oder eine andere Audio-Applikation gerade Musik abspielt. Dies könnte z.B. interessant sein, wenn man als Hintergrundmusik zu seiner Applikation die Musik des iPod nutzen möchte (also die AVAudioSessionCategory richtig bestimmen will). Ein anderer Anwendungsfall wäre bei dem Zugriff auf Musikdateien zu überprüfen, ob eben eine Datei gerade durch eine andere Audio-App geblockt ist.

Mit folgenden Code könnt Ihr überprüfen, ob die iPod-App gerade Sound abspielt:
#include <AudioToolbox/AudioToolbox.h>


AudioSessionInitialize(NULL, NULL, NULL, NULL);

UInt32 propertySize, audioIsAlreadyPlaying;
propertySize = sizeof(UInt32);
AudioSessionGetProperty(kAudioSessionProperty_OtherAudioIsPlaying, &propertySize, &audioIsAlreadyPlaying);
   
if(audioIsAlreadyPlaying != 0)
{
   // ja, eine andere AudioApp spielt gerade nutzbaren Sound

else
{
   // nein
}

Eine weitere und durchaus einfacher Variante wird seit iPhone OS 3.0 gegeben. Und zwar wird dabei der MPMusicPlayerController wie folgt benutzt:
if ([MPMusicPlayerController iPodMusicPlayer].playbackState == MPMusicPlaybackStatePlaying)
   // iPod player spielt gerade Musik
else
   // keine externe Musik wird derzeit abgespielt

Weitere States des MusicPlayer wären:
  • MPMusicPlaybackStateStopped
  • MPMusicPlaybackStatePlaying
  • MPMusicPlaybackStatePaused
  • MPMusicPlaybackStateInterrupted
  • MPMusicPlaybackStateSeekingForward
  • MPMusicPlaybackStateSeekingBackward

Ihren Kommentar hinzufügen

Ihr Name:
Ihre Webseite:
Betreff:
Kommentar:
  Bild, welches den Sicherheitscode enthält
Sicherheitscode:
LAST_UPDATED2