He habilitado correctamente el audio de fondo para mi aplicación (en la lista). Reproducir la siguiente pista una vez que se completa la corriente con SPPlaybackManager en segundo plano (cuando el teléfono está bloqueado/apagado) no funciona.Audio de fondo con cocoalibspotify
Cuando la pista actual finaliza y el audio se detiene, la aplicación no comenzará a reproducir la siguiente pista hasta que el teléfono esté desbloqueado y mi aplicación vuelva a estar activa.
¿Cómo puedo solucionar esto? Aquí hay un fragmento de código que estoy usando para comenzar a reproducir la siguiente pista. Observé que la pista actual se vuelve nula, y luego comienzo a reproducir la siguiente pista. El registro me muestra que la siguiente pista actual se está configurando en el objeto del administrador de reproducción, pero desafortunadamente está en silencio.
- (void) observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {
if([keyPath isEqualToString:@"spotifyPlaybackManager.currentTrack"]){
NSLog(@"%@ %@",keyPath,self.spotifyPlaybackManager.currentTrack);
if(self.spotifyPlaybackManager.currentTrack==nil && self.mode == PlayerModeSpotify){
NSLog(@"PLAY NEXT");
[self.spotifyPlaybackManager playTrack:self.nextSPTrack callback:^(NSError *error){
if(error) TKLog(@"Spotify Playback Error %@",error);
}];
}
[[NSNotificationCenter defaultCenter] postNotificationName:PlayerNowPlayingItemDidChange object:self];
return;
}
[super observeValueForKeyPath:keyPath ofObject:object change:change context:context];
}
Consola:
spotifyPlaybackManager.currentTrack (null)
PLAY NEXT
spotifyPlaybackManager.currentTrack <SPTrack: 0x60f8390>: Karaoke
Intenté poner 'beginBackgroundTaskWithExpirationHandler' directamente antes de llamar a 'self.spotifyPlaybackManager playTrack: ...' y el código suspende la ejecución tan pronto como se intenta crear una nueva tarea. ¿Cualquier otra sugerencia? – devinross
Mi aplicación de audio (GroovePond) realiza muchas tareas en segundo plano al reproducir audio de fondo, como aceptar nuevos clientes y actualizar el estado de los clientes existentes, y Apple no parece tener ningún problema con ello. Creo que porque las tareas están directamente relacionadas con la reproducción de audio, están permitidas. – Dermot