iphone - reloj - ¿Cómo configurar la duración de la reproducción actual y el tiempo transcurrido en la pantalla de bloqueo de iOS 7?
tiempo en pantalla ios 12 (3)
A partir de iOS 5, cada reproductor de música puede configurar la información de la música que se reproduce actualmente, como el título, el artista, el título del álbum y las ilustraciones en [MPNowPlayingInfoCenter defaultCenter] .nowPlayingInfo para que aparezca en la pantalla de bloqueo.
En iOS 7, la información del control deslizante, la duración y el tiempo transcurrido de la posición de reproducción se agregan a la pantalla de bloqueo y al centro de control. Sin embargo, no puedo encontrar ningún documento para configurar este tipo de información y habilitar el control deslizante para cambiar la posición de reproducción.
¿Hay alguna manera de resolver este problema?
Debe configurar la velocidad de reproducción a 1.0f, incluso si la documentación indica que es 1.0 de forma predeterminada.
NSDictionary *mediaInfo = @{
MPMediaItemPropertyTitle: audio.title,
MPMediaItemPropertyArtist: audio.artist,
MPMediaItemPropertyPlaybackDuration: audio.duration,
MPNowPlayingInfoPropertyPlaybackRate: @(1.0)
};
[[MPNowPlayingInfoCenter defaultCenter] setNowPlayingInfo:mediaInfo];
Solo tenga cuidado: el documento de Apple nunca lo dejó claro: si usa MPMusicPlayerController, su música se reproduce bajo el capó mediante la aplicación "music" y NO tiene ningún control de nowPlayingInfoCenter. Y NO recibirá los eventos de control remoto generados por las acciones del usuario (como reproducir / pausar) aplicadas a la pantalla de bloqueo porque esos eventos se propagan a través de nowPlayingInfoCenter a la aplicación "music", no a la suya. Cuando utilice otros reproductores de medios, como AV o AvAudio, puede controlar el NowPlayingInfoCenter y recibir los eventos de control remoto. Pero si usa AVAudioSessionCategoryOptions.MixWithOthers para configurar el reproductor AV, tampoco puede controlar nowPlayingInfoCenter. Ojalá Apple documentara mejor esos detalles.
Todos están documentados en la referencia para MPNowPlayingInfoCenter
. Las propiedades que se reproducen actualmente son valores opcionales que pueden o no configurarse. El enlace a eso está en la oración al final de la lista de propiedades de juego normales:
Las propiedades adicionales que puede configurar se describen en este documento en "Propiedades de metadatos adicionales" . (énfasis mío)
Las propiedades que le interesan son: MPNowPlayingInfoPropertyElapsedPlaybackTime
y MPMediaItemPropertyPlaybackDuration
.
Esta información está disponible públicamente, y como el SDK de iOS 7 no parece estar publicado todavía (a partir del 2013-09-14), supongo que también estaba disponible antes de esa versión de iOS.