是否有可能在应用程序退出/进入后台状态时播放曲目?
例如: - (void)applicationDidEnterBackground:(UIApplication *)application
{
NSURL *trackURL = [NSURL URLWithString:@"spotify:track:489K1qunRVBm2OpS4XGLNd"];
[[SPSession sharedSession] trackForURL:trackURL callback:^(SPTrack *track) {
if (track != nil) {
[SPAsyncLoading waitUntilLoaded:track timeout:kSPAsyncLoadingDefaultTimeout then:^(NSArray *tracks, NSArray *notLoadedTracks) {
[self.playbackManager playTrack:track callback:^(NSError *error) {
if (error) {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Cannot Play Track"
message:[error localizedDescription]
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alert show];
} else {
self.currentTrack = track;
}
}];
}];
}
}];
}
以上代码取自cocoalibspotify提供的Simple Player应用程序。
像这样复制粘贴代码不会让你在背景中走得太远——你不能一开始就使用像UIAlertView
这样的UI元素。
你需要声明你的应用程序支持苹果文档中的音频背景模式。然后,当你进入后台时,你应该创建一个后台任务来开始播放。