sale para descargar cuando apple actualizacion ios audio core-audio mpnowplayinginfocenter

para - iOS: actualización del estado de reproducción/pausa multimedia en la barra multitarea



ios 12 descargar (2)

Descubrí que al utilizar un gráfico CoreAudio AU, AUGraphStart () mostrará el indicador de reproducción en la barra de estado de iOS y la barra multitarea de iOS, y AUGraphStop () los borrará.

Tenemos una aplicación en funcionamiento que usa un gráfico AU - CoreAudio API - para reproducir audio. El gráfico siempre se está ejecutando, y el estado de reproducción / pausa de los diversos materiales de origen se gestiona en el gráfico que representa las funciones de devolución de llamada. Respondemos con éxito a los eventos UIEventTypeRemoteControl, y actualizamos con éxito la pantalla de bloqueo con los metadatos del contenido que se está reproduciendo utilizando MPNowPlayingInfoCenter.

La única pieza faltante es actualizar el estado del botón Reproducir / Pausa en la barra multitarea de iOS. Siempre está en el modo "pausa" (||), incluso cuando el audio de la aplicación ya está en pausa. Nunca cambia a su estado de "reproducción" (>).

¿Qué API se usa para actualizar el estado del botón Reproducir / Pausa?


Cambiar el diccionario MPNowPlayingInfo, establecer un nuevo parámetro

MPNowPlayingInfoPropertyPlaybackRate to 1.0f to show pause button MPNowPlayingInfoPropertyPlaybackRate to 0.0f to show play button

Desde el botón de reproducción hasta el botón de pausa

Class playingInfoCenter = NSClassFromString(@"MPNowPlayingInfoCenter"); if (playingInfoCenter) { NSMutableDictionary *songInfo = [NSMutableDictionary dictionaryWithDictionary:[MPNowPlayingInfoCenter defaultCenter].nowPlayingInfo]; //[songInfo setObject:songTitle forKey:MPMediaItemPropertyTitle]; //[songInfo setObject:songArtist forKey:MPMediaItemPropertyArtist]; [songInfo setObject:[NSNumber numberWithFloat:1.0f] forKey:MPNowPlayingInfoPropertyPlaybackRate]; [MPNowPlayingInfoCenter defaultCenter].nowPlayingInfo = songInfo; }

Desde el botón de pausa hasta el botón de reproducción

Class playingInfoCenter = NSClassFromString(@"MPNowPlayingInfoCenter"); if (playingInfoCenter) { NSMutableDictionary *songInfo = [NSMutableDictionary dictionaryWithDictionary:[MPNowPlayingInfoCenter defaultCenter].nowPlayingInfo]; //[songInfo setObject:songTitle forKey:MPMediaItemPropertyTitle]; //[songInfo setObject:songArtist forKey:MPMediaItemPropertyArtist]; [songInfo setObject:[NSNumber numberWithFloat:0.0f] forKey:MPNowPlayingInfoPropertyPlaybackRate]; [MPNowPlayingInfoCenter defaultCenter].nowPlayingInfo = songInfo; }