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

4

1 回答 1

0

在后台运行时,像这样复制和粘贴代码不会让你走得太远——你不能使用 UI 元素,例如UIAlertView, 一开始。

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

于 2013-05-21T09:13:41.817 回答