2015-07-16 21 views
8

Mam problemy z przełączaniem przycisków odtwarzania i pauzy w MPRemoteCommandCenter. Z dowolnego powodu audio i zdarzenia będą działać poprawnie, ale centrum poleceń nie zmieni przycisku odtwarzania na przycisk pauzy. Oto mój kod ...MPRemoteCommandCenter przycisk pauzy/odtwarzania nie przełącza?

- (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.

Daj mi znać, jeśli faceci mogą myśleć o niczym, chciałabym pomoc. To doprowadza mnie do szału.

+0

Niestety w tym samym miejscu jesteś. Czy kiedykolwiek rozwiązałeś swój problem? – Sirens

+0

Mam do czynienia z tym samym problemem. Każda pomoc będzie doceniona! –

+0

Skończyło się na upuszczeniu tego projektu, przepraszam za spóźnioną odpowiedź! Mam nadzieję, że to wymyślę. –

Odpowiedz

9

Kilka wskazówek, jak to rozwiązałem. czytanie jabłko documentation stwierdza „Twoja aplikacja musi być«Now Playing»app. Aplikacja nie otrzyma zdalnego sterowania, aż do wydarzeń rozpoczyna odtwarzanie dźwięku”

więc najpierw rozpocząć odtwarzanie dźwięku.

MPRemoteCommandCenter to moduł dość samodzielny. setEnabled służy do jawnego stwierdzenia, że ​​coś nie będzie obsługiwane. Nie używaj go jako przełącznika podczas zdarzenia, AVFoundation sam sobie z tym poradzi.

Należy również pamiętać, że miałem problemy przełączanie w symulatorze, to przełącza prawidłowo na urządzeniu, ale nie w symulatorze, który wziął szybki 16 godzin, aby dowiedzieć się :)

+5

Nie jestem pewien, dlaczego dostałem taki głos. Fakt, że symulator nie reaguje dobrze na MPRemoteCommandCenter bardzo mi pomógł! – Larcho

+0

Te błędy zawsze trafiają do mnie. Coś nie działa na symulatorze, denerwuję się tylko po to, aby zdać sobie sprawę, że wszystko działa na urządzeniu. –

Powiązane problemy