2016-04-04 7 views
10

Pracuję nad aplikacją (która nie jest aplikacją muzyczną), jednak w pewnym momencie może odtwarzać dźwięk wewnątrz pliku UIWebView (z pliku html 5), co umożliwiło automatyczne odtwarzanie.Jak usunąć nazwę aplikacji z Control Center - Muzyka?

Problem polega na tym, że nazwa mojej aplikacji pojawia się w Centrum sterowania iPhone'a w sekcji "Muzyka". Gdy kliknę nazwę mojej aplikacji, otworzy się moja aplikacja. Jednak nie chcę tego zachowania.

Próbowałem ustawić [MPNowPlayingInfoCenter defaultCenter].nowPlayingInfo = nil; w AppDelegate s, gdy aplikacja idzie do tła lub przychodzi na pierwszy plan, a nawet zakończyć sprawę. Ale wciąż wyświetla się nazwa aplikacji? Jakaś wskazówka? Czy jest coś, czego mi brakuje?

Och i tak, to może pomóc komuś poznać dokładny problem, w kontrolerze, w którym odtwarzam dźwięk wewnątrz UIWebView, napisałem następujący kod, aby obsłużyć aktualnie odtwarzaną piosenkę w mojej muzyce iPhone'a (lub jakiejkolwiek innej) aplikacja.

- (void) viewWillAppear:(BOOL)animated { 
    [super viewWillAppear:animated]; 

    MPMusicPlayerController *mp = [MPMusicPlayerController systemMusicPlayer]; 
    if(mp.playbackState == MPMoviePlaybackStatePlaying) { 
     isSystemMediaPlayerPlaying = YES; 
    } 
} 

- (void) viewWillDisappear:(BOOL)animated { 
    [super viewWillDisappear:animated]; 

    if(isSystemMediaPlayerPlaying) { 
     MPMusicPlayerController *mp = [MPMusicPlayerController systemMusicPlayer]; 
     [mp play]; 
     isSystemMediaPlayerPlaying = NO; 
    } 
} 

Na notatce, isSystemMediaPlayerPlaying jest rodzajem BOOL.

Zrzut ekranu:

enter image description here

PS: Zamiast "You Tube" możesz rozważyć "Nazwa mojej aplikacji".

+0

Czy są jakieś specjalne wymagania dla użytkownika "systemMusicPlayer"? – HardikDG

+1

Duplikat? http://stackoverflow.com/q/30711138/2415822 – JAL

+1

@JAL, dzięki za linki, ale nie działa. Próbowałem tego. – Hemang

Odpowiedz

3

Nie wywołuj systemMusicPlayer w swojej aplikacji. jeśli muzyka jest odtwarzana po wejściu do aplikacji, po wyjściu z aplikacji zostanie wznowiona sama, po prostu odrzuć powyższy kod.

3

Czy próbowałeś

[[UIApplication sharedApplication] endReceivingRemoteControlEvents]; 
2

Spróbuj ustawić słownika nowPlayingInfo w defaultCenter do wyświetlenia element multimedialny bez tytułu tuż po załadowaniu treści w UIWebView.

MPNowPlayingInfoCenter *infoCenter = [MPNowPlayingInfoCenter defaultCenter]; 

NSDictionary *nowPlayingInfo = @{ 
           MPMediaItemPropertyTitle : @"", 
           MPMediaItemPropertyArtist : @"" 
           }; 

[infoCenter setNowPlayingInfo:[NSDictionary dictionaryWithDictionary:nowPlayingInfo]]; 

Przy użyciu dźwięku tła, określić, że aplikacja nie powinni otrzymywać zdalne zdarzenia kontrolne.

[[UIApplication sharedApplication] endReceivingRemoteControlEvents]; 
Powiązane problemy