当app在后台时,如何使用cocoalibspotify播放曲目?

时间:2013-05-20 20:24:35

标签: spotify cocoalibspotify-2.0

当应用程序退出/进入后台状态时,是否可以播放曲目?

例如:

   - (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应用程序。

1 个答案:

答案 0 :(得分:0)

复制和粘贴这样的代码在后台处理时不会太远 - 你不能使用像UIAlertView这样的UI元素作为开始。

您需要将应用程序声明为支持Apple记录的音频后台模式。然后,当你进入后台时,你应该做一个后台任务来开始播放。