Pregunta

Mi aplicación implica música (iPodMusic), y hay una UISwitch alternar reproducción / pausa. Mi objetivo es ser capaz de detectar si se está reproduciendo música, de modo que, por tanto, el interruptor de reproducción / pausa puede decir 'juego' cuando se está reproduciendo música y 'pausa' si no lo es.

¿Fue útil?

Solución

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

Otros consejos

Si la música es de su propia aplicación, comprobar AVAudioPlayer de propiedad playing .

Si la música es de iPod, marque de MPMusicPlayerController nowPlayingItem o playbackState propiedad.

MPMusicPlayerController sólo está disponible en OS 3.0 o superior. Si está ejecutando 2.0 se está de suerte. He aquí un fragmento de código que comprueba si se está ejecutando 3.0 o superior y sólo entonces los intentos de crear 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;
        }
    }
}

Se tiene que compilar contra un SDK 3.0, pero si se establece el destino de despliegue a 2.0, este código aún se ejecuta en dispositivos más antiguos.

que va a yes si su sonido iTunes está en otra cosa que va a ningún sonido si está fuera del reproductor de música iTunes ... para que pueda comprobar fácilmente por defecto Reproductor Musical de sonido está activado o desactivado Es necesario agregar Marco de los medios de comunicación-jugador Justo es tratar de que funcione correctamente .... Thx ...:)

   if ([[MPMusicPlayerController iPodMusicPlayer] playbackState] == MPMusicPlaybackStatePlaying)
    {
           NSLog(@"yes itune Player Sound is on");
    }
    else
    {
          NSLog(@"NO itune Player Sound is not on");
    }
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top