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

Posted

技术标签:

【中文标题】当应用程序在后台时,如何使用 cocoalibspotify 播放曲目?【英文标题】:How to play track using cocoalibspotify when app is in the background? 【发布时间】:2013-05-15 11:54:47 【问题描述】:

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

例如:

   - (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】:

像这样复制和粘贴代码在后台运行时不会让您走得太远 - 首先您不能使用像 UIAlertView 这样的 UI 元素。

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

【讨论】:

以上是关于当应用程序在后台时,如何使用 cocoalibspotify 播放曲目?的主要内容,如果未能解决你的问题,请参考以下文章

在swift中,当应用程序进入后台时,如何使用依赖注入保存变量?

当应用程序在后台时如何停止位置服务?

当应用程序在后台收到通知时如何获取通知有效负载数据

当应用程序使用 react-native-background-task 在后台运行时如何调用函数?

当应用程序在iOS中使用后台定位服务时如何隐藏状态栏消息[关闭]

当应用程序快速进入后台时,如何使用 AVLayer 继续将视频作为 VideoView 层播放