当应用程序在后台时,如何使用 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 在后台运行时如何调用函数?