2016-04-04 18 views
10

Sto lavorando a un'app (che non è un'app di musica) tuttavia, a un certo punto, è possibile riprodurre l'audio all'interno di uno UIWebView (da un file HTML 5) che ha abilitato la riproduzione automatica.Come rimuovere il nome dell'app da Control Center - Music?

Il problema è che il nome dell'app viene visualizzato nel Centro di controllo di iPhone nella sezione "Musica". Quando tocchi il nome della mia app, si aprirà la mia app. Tuttavia, non voglio questo comportamento.

Ho provato a impostare [MPNowPlayingInfoCenter defaultCenter].nowPlayingInfo = nil; all'interno di AppDelegate s, quando l'app passa allo sfondo o arriva in primo piano o addirittura termina il caso. Ma sta ancora mostrando il nome dell'app? Qualche indizio? C'è qualcosa che mi manca da impostare?

Oh e sì, questo può aiutare qualcuno a conoscere il problema esatto, in un controller di vista in cui sto riproducendo un audio all'interno di UIWebView, ho scritto il seguente codice per gestire il brano attualmente in riproduzione nella mia musica iPhone (o qualsiasi altra) app.

- (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; 
    } 
} 

Per una nota, isSystemMediaPlayerPlaying è un tipo BOOL.

Screenshot:

enter image description here

P.S. Invece di "You Tube", puoi considerare "My App Name".

+0

Esiste un requisito specifico per l'utente "systemMusicPlayer"? – HardikDG

+1

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

+1

@ JAL, grazie per i collegamenti, ma non funziona. Ho provato questo. – Hemang

risposta

3

Non chiamare systemMusicPlayer nella tua app. se la musica è in riproduzione quando inserisci la tua app, dopo aver chiuso la tua app, riprenderà da sola, basta scartare il tuo codice qui sopra.

3

Hai provato

[[UIApplication sharedApplication] endReceivingRemoteControlEvents]; 
2

Prova a impostare fino dizionario nowPlayingInfo del defaultCenter per visualizzare un elemento multimediale senza titolo giusto dopo aver caricato il contenuto del tuo UIWebView.

MPNowPlayingInfoCenter *infoCenter = [MPNowPlayingInfoCenter defaultCenter]; 

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

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

Quando si utilizza l'audio di sfondo, specificare che la vostra applicazione non dovrebbe ricevere gli eventi di controllo remoto.

[[UIApplication sharedApplication] endReceivingRemoteControlEvents];