साथ पृष्ठभूमि ऑडियो मैं ठीक से अपना एप्लिकेशन के लिए पृष्ठभूमि ऑडियो सक्षम किया है (plist में)। वर्तमान के बाद अगला ट्रैक चलाया पृष्ठभूमि (फ़ोन लॉक होने पर/बंद) में SPPlaybackManager का उपयोग कर काम नहीं करता है पूरा हो गया है।cocoalibspotify
जब वर्तमान ट्रैक समाप्त हो जाती है, और ऑडियो बंद हो जाता है, एप्लिकेशन अगले ट्रैक खेलने शुरू नहीं होगी फ़ोन अनलॉक हो और मेरे ऐप फिर से सक्रिय हो जाता है जब तक।
मैं इसे कैसे ठीक करूं? यहां कोड का एक स्निपेट है जिसका उपयोग मैं अगले ट्रैक के खेल को शुरू करने के लिए कर रहा हूं। मैं देखता हूं कि वर्तमान ट्रैक शून्य हो जाता है, और फिर अगला ट्रैक खेलना शुरू कर देता है। लॉग मुझे दिखाता है कि अगला वर्तमान ट्रैक प्लेबैक प्रबंधक ऑब्जेक्ट में सेट किया जा रहा है, लेकिन यह चुप है।
- (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
मैंने 'self.spotifyPlaybackManager playTrack: ...' को कॉल करने से पहले सीधे 'startBackgroundTaskWithExpirationHandler' डालने का प्रयास किया और जैसे ही एक नया कार्य बनने का प्रयास किया गया है, कोड चल रहा है। कोई अन्य सुझाव? – devinross
मेरा ऑडियो ऐप (ग्रूवपॉन्ड) पृष्ठभूमि ऑडियो चलाते समय बहुत सारे पृष्ठभूमि कार्यों को करता है, जैसे नए क्लाइंट स्वीकार करना और मौजूदा क्लाइंट के राज्य को अपडेट करना, और ऐप्पल को इसके साथ कोई समस्या नहीं है। मुझे लगता है कि क्योंकि काम सीधे ऑडियो के प्लेबैक से संबंधित हैं, इसलिए उन्हें अनुमति है। – Dermot