ios - poner - fondo de pantalla original iphone 6
¿Cambiar el texto de los controles de audio de fondo de la pantalla de bloqueo? (2)
Tengo una aplicación para iOS que transmite audio de fondo mediante AVAudioSession. Está funcionando correctamente, pero tengo curiosidad, ¿hay alguna forma de cambiar el texto en los controles de audio de la pantalla de bloqueo? En este momento simplemente muestra el nombre de mi aplicación, pero me gustaría cambiarlo al nombre de la pista.
Además, la barra multitarea no tiene texto debajo de los controles. ¿Hay alguna forma de agregar el nombre de la pista allí, como la aplicación iPod?
¡Aquí está en veloz! (ya no es necesario comprobar si hay iOS 5 o superior)
let albumArt = MPMediaItemArtwork(image: UIImage(named:"HitchHikersGuide"))
let albumDict = [MPMediaItemPropertyTitle: "Life, the Universe and Everything", MPMediaItemPropertyPlaybackDuration: 42, MPMediaItemPropertyArtwork: albumArt]
MPNowPlayingInfoCenter.defaultCenter().nowPlayingInfo = albumDict
iOS 5 ahora admite la configuración del título de la pista, así como una imagen de carátula del álbum tanto en la pantalla de bloqueo como en los controles de reproducción remota (los controles que se obtienen al hacer doble clic en el botón de inicio y deslizar hacia la derecha). Echa un vistazo a la clase MPNowPlayingInfoCenter
. Por supuesto, para maximizar la compatibilidad, querría probar si MPNowPlayingInfoCenter
está disponible, haciendo algo como:
if ([MPNowPlayingInfoCenter class]) {
/* we''re on iOS 5, so set up the now playing center */
UIImage *albumArtImage = [UIImage imageNamed:@"HitchHikersGuide"];
albumArt = [[MPMediaItemArtwork alloc] initWithImage:albumArtImage];
NSDictionary *currentlyPlayingTrackInfo = [NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:@"Life, the Universe and Everything", [NSNumber numberWithInt:42], albumArt, nil] forKeys:[NSArray arrayWithObjects:MPMediaItemPropertyTitle, MPMediaItemPropertyPlaybackDuration, MPMediaItemPropertyArtwork, nil]];
[MPNowPlayingInfoCenter defaultCenter].nowPlayingInfo = currentlyPlayingTrackInfo;
}