2015-07-16 14 views
8

Sto riscontrando problemi nel far passare i pulsanti di riproduzione e di pausa in MPRemoteCommandCenter. Per qualsiasi motivo, l'audio e gli eventi funzioneranno correttamente, ma il centro di comando non modifica il pulsante di riproduzione sul pulsante di pausa. Ecco il mio codice ...MPRemoteCommandCenter pulsante di pausa/riproduzione non attivo?

- (void)setupMPRemoteCommandCenter{ 
    MPRemoteCommandCenter *commandCenter = [MPRemoteCommandCenter sharedCommandCenter]; 

    MPRemoteCommand *play = [commandCenter playCommand]; 
    [play setEnabled:YES]; 
    [play addTarget:self action:@selector(playAudio:)]; 

    MPRemoteCommand *pause = [commandCenter pauseCommand]; 
    [pause setEnabled:YES]; 
    [pause addTarget:self action:@selector(playAudio:)]; 


    [commandCenter.skipBackwardCommand setPreferredIntervals:@[@30.0]]; 
    MPRemoteCommand *skipBackwards = [commandCenter skipBackwardCommand]; 
    [skipBackwards setEnabled:YES]; 
    [skipBackwards addTarget:self action:@selector(skipBackwardEvent:)]; 

    [commandCenter.skipForwardCommand setPreferredIntervals:@[@30.0]]; 
    MPRemoteCommand *skipForwards = [commandCenter skipForwardCommand]; 
    [skipForwards setEnabled:YES]; 
    [skipForwards addTarget:self action:@selector(skipForwardEvent:)]; 

} 
-(void)playAudio: (MPRemoteCommandHandlerStatus *)event{ 
    [self playAction]; 
    //playAction handles the audio pausing and toggling the play button on the app 
} 

This is the issue, the media center should show a pause button like the app rather than a play button.

Fatemi sapere se voi potete pensare a niente, mi piacerebbe l'aiuto. Questo mi ha fatto impazzire

+0

Purtroppo nello stesso posto ci si trovi. Hai mai risolto il tuo problema? – Sirens

+0

Sto affrontando lo stesso problema. Qualsiasi aiuto sarebbe apprezzato ! –

+0

Alla fine ho abbandonato questo progetto, mi dispiace per la risposta tardiva! Spero che lo capirai –

risposta

9

alcune indicazioni su come ho risolto questo. leggere la mela documentation si afferma "La vostra applicazione deve essere il‘’app. Un'applicazione non riceve gli eventi di controllo remoto fino a quando non inizia la riproduzione audio" Now Playing

quindi prima iniziare la riproduzione dell'audio.

MPRemoteCommandCenter è un modulo abbastanza indipendente. setEnabled è usato per dire esplicitamente che qualcosa non sarà supportato. Non utilizzarlo come interruttore durante un evento, AVFoundation lo gestirà da solo.

Si noti inoltre che ho avuto problemi di commutazione nel simulatore, si alterna bene su dispositivo ma non nel simulatore, che ha avuto un rapido 16 ore per capire :)

+5

Non sono sicuro del motivo per cui è stato votato. Il fatto che il simulatore non risponda bene a MPRemoteCommandCenter mi ha aiutato molto! – Larcho

+0

Questi bug arrivano sempre a me. Qualcosa non funziona sul simulatore, mi sento frustrato solo per rendermi conto che tutto funziona sul dispositivo. –

Problemi correlati