Я правильно включил фоновый звук для своего приложения (в plist ). Воспроизведение следующей дорожки после завершения текущей с помощью SPPlaybackManager в фоновом режиме (, когда телефон заблокирован/выключен ), не работает.
Когда текущая дорожка заканчивается и звук останавливается, приложение не начнет воспроизведение следующей дорожки, пока телефон не будет разблокирован и мое приложение снова не станет активным.
Как я могу это исправить? Вот фрагмент кода, который я использую, чтобы начать воспроизведение следующего трека. Я замечаю, что текущая дорожка становится нулевой, а затем начинаю воспроизводить следующую дорожку. Лог показывает мне, что в объекте менеджера воспроизведения устанавливается следующая текущая дорожка, но увы молчит.
- (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];
}
Консоль:
spotifyPlaybackManager.currentTrack (null)
PLAY NEXT
spotifyPlaybackManager.currentTrack <SPTrack: 0x60f8390>: Karaoke