当应用程序退出/进入后台状态时,是否可以播放曲目?
例如:
- (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应用程序。
答案 0 :(得分:0)
复制和粘贴这样的代码在后台处理时不会太远 - 你不能使用像UIAlertView
这样的UI元素作为开始。
您需要将应用程序声明为支持Apple记录的音频后台模式。然后,当你进入后台时,你应该做一个后台任务来开始播放。