适用于 ios 的 Spotify API:从 ios spotify api 下载、保存、访问曲目

2023-12-06

我想知道是否可以使用Spotify ios api(CocoaLibSpotify IOS 库)将曲目下载到iphone/ipod/ipad 设备。如果是这样,我还需要访问它们并随时玩。稍后我将在我的应用程序中使用它们。

我认为我们可以使用 sp_track_offline_status 检查正在播放的曲目的离线状态。但我无法克服这一点。

任何示例代码片段都会有很大帮助。

简化要求:下载 Spotify 曲目并将其保存到 iOS 设备中

作为更新,响应 iKendac 的回答,offlineStatus 属性已变为“1”,这意味着播放器已同步用于本地存储。

SP_PLAYLIST_OFFLINE_STATUS_YES = 1, ///

1.这是否意味着播放列表中的所有曲目都已下载?

我不这么认为。因为还有其他状态如下:

typedef enum sp_playlist_offline_status {
  SP_PLAYLIST_OFFLINE_STATUS_NO          = 0, ///< Playlist is not offline enabled
  SP_PLAYLIST_OFFLINE_STATUS_YES         = 1, ///< Playlist is synchronized to local storage
  SP_PLAYLIST_OFFLINE_STATUS_DOWNLOADING = 2, ///< This playlist is currently downloading. Only one playlist can be in this state any given time
  SP_PLAYLIST_OFFLINE_STATUS_WAITING     = 3, ///< Playlist is queued for download
} sp_playlist_offline_status;

我从来没有得到过offlineStatus 2 或3。

  1. 另外,我的offlineDownloadProgress 属性始终显示“0”。
    如果我没记错的话,它必须从“0”增加到“1”。

代码片段:

[SPAsyncLoading waitUntilLoaded:playList 
                        timeout:kSPAsyncLoadingDefaultTimeout 
                           then:^(NSArray *loadedItems, NSArray *notLoadedItems) {    
    playList.markedForOfflinePlayback = YES;
    currentPlaylist = playList;
    statusTimer = [NSTimer scheduledTimerWithTimeInterval:0.3 target:self selector:@selector(checkOfflineStatus) userInfo:nil repeats:YES];

我正在检查状态如下:

-(void)checkOfflineStatus {

  NSLog(@"playlist offline progress is: %f",currentPlaylist.offlineDownloadProgress);

  NSLog(@"offline status: %d",currentPlaylist.offlineStatus);

}

输出如下所示:

2012-07-06 20:34:05.891 简单播放器[6571:10703]播放列表离线进度为:0.000000

2012-07-06 20:34:05.892 简单播放器[6571:10703]离线状态:1

2012-07-06 20:34:06.039 简单播放器[6571:10703]播放列表离线进度为:0.000000

2012-07-06 20:34:06.039 简单播放器[6571:10703]离线状态:1

接下来我能做什么?


您不能简单地将 Spotify 曲目下载为 MP3 文件或其他文件来独立播放。

不过,只要用户保持登录 CocoaLibSpotify 的状态,您就可以将库缓存曲目用于稍后离线播放,就像 iOS Spotify 客户端一样。

SPPlaylistmarkedForOfflinePlayback用于启用离线访问的属性,然后offlineDownloadProgress and offlineStatus播放列表的属性提供更多信息。

CocoaLibSpotify 附带了一个 Mac 示例应用程序,可以缓存播放列表以供离线播放,以了解其工作原理。该 API 在 Mac OS X 和 iOS 版本的 CocoaLibSpotify 上均可用且相同。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

适用于 ios 的 Spotify API:从 ios spotify api 下载、保存、访问曲目 的相关文章

  • 选择 UITableViewCell 时 UIView 背景颜色消失

    我在界面生成器中构建了一个简单的 tableViewCell 它包含一个包含图像的 UIView 现在 当我选择单元格时 会显示默认的蓝色选择背景 但 UIView 的背景颜色消失了 我的 UITableViewCell 的实现文件没有做任
  • iOS WKWebView 处理文件下载

    我面临以下问题 在 Web 界面中 文件下载是通过锚标记触发的 如下所示 a href bla blabla a 虽然 Safari 浏览器可以处理此请求并打开一个对话框来处理文件 但 WKWebView 将此视为普通链接并且不对其执行任何
  • UITesting、XCTest 当前 ViewController 类

    简单的问题 我有一个按钮可以执行到下一个视图控制器的操作 我想写 UI XCTest 来告诉我它是否打开了我想要的视图控制器 UI 测试框架无法访问您的应用程序代码 这使得无法对实例进行类断言 你不能够directly告诉屏幕上的控制器的类
  • 在回调函数中调用目标c函数

    如何在回调函数中调用目标c函数 回调函数 static OSStatus inputRenderCallback void inRefCon AudioUnitRenderActionFlags ioActionFlags const Au
  • IDFA 使用不当,您的应用不遵守 ios 中的限制广告跟踪设置

    I have checked the iTC settings I have uploaded the same app 2 days ago and it works fine but when today I uploaded the
  • 使用特定的 url 启动 UIWebview

    我目前有一个包含四个按钮的视图 并且希望能够启动 UIWebview 并为每个不同的按钮提供特定的 url 我目前可以使用 url 从外部启动 safari 我知道我可以使用代码在每个按钮中显示 UIWebview 并且可以在 UIWebv
  • 用于具有转换的非导航应用程序的视图控制器/NIB 架构?

    我正在修补一个 iPad 应用程序 就像许多 iPad 应用程序一样 它不使用 UINavigation 根视图控制系统 因此我没有每个应用程序 视图 的自然所有权 我基本上有两个基本视图 文档列表视图和文档编辑视图 我正在使用 UIVie
  • 为具有多个目标和不同平台的项目编写 Podfile

    我正在准备一个支持 OS X 和 iOS 的 Pod 我的 pod 有一些自己的依赖项 这些依赖项在 podspec 文件中定义 因此我使用 Podfile 来管理我用来开发 pod 和运行测试的项目的依赖项 我正在使用 CocoaPods
  • 如何为图层阴影不透明度设置动画?

    我有一个视图 我已将 LayerOpacity 设置为 1 theView layer shadowOpacity 1 0 当视图位于屏幕下方时 这看起来很好 当我将此视图向上移动以与另一个有阴影的视图齐平时 它们看起来不太好 有没有办法让
  • 与新 Apple Music 应用程序中相同的动态状态栏

    是否可以动态着色statusBar这是在新的苹果音乐应用程序 Edit iOS 8 4 中的新 Apple Music 应用程序具有此功能 打开应用程序 选择并播放歌曲 状态栏为白色 向下滑动播放器控制器以查看 我的音乐 控制器 它有黑色状
  • 带约束的嵌套集合视图的意外行为 (Swift 4)

    我的表格视图中有一个单元格 其中包含水平分页集合视图 该集合视图的每个页面内都有一个垂直集合视图 为了避免 滚动滚动 问题 我在垂直集合视图中禁用了垂直滚动 垂直集合视图的单元格计数不是静态的 可以是任意数字 因此 这会产生一个问题 集合视
  • NSURLCache 不缓存

    我正在使用 Xcode 6 1 6A1030 iOS7 和 iOS8 模拟器 NSURLCache 似乎没有缓存任何东西 我使用 Cache Control 标头 我的服务器返回带有 max age 6000 的 Cache Control
  • 使用 BGTaskScheduler 进行后台获取与调试模拟完美配合,但在实践中却不起作用

    我在 appDelegate 的 didFinishLaunchingWithOptions 中注册后台获取任务 BGTaskScheduler shared register forTaskWithIdentifier Backgroun
  • Swift:协议、结构、类

    我开始学习 Swift 语言 但在理解协议 结构和类方面遇到了困难 我来自 Android 方面的编程 所以我相信 Swift 协议基本上是 Java 接口 其中每一个的正确用例是什么 这些类比并不 完全 正确 但这就是我所理解的要点 是的
  • 在 Swift 中以编程方式为 iOS 制作带有名字首字母的图像,例如 Gmail

    我需要在 UITableView 中显示与其姓名相对应的每个用户的个人资料图片 在下载图像之前 我需要显示一张带有他名字的第一个字母的图像 就像在 GMail 应用程序中一样 如何在 Swift for iOS 中以编程方式执行此操作 不需
  • 带有 allowedEditing 的 UIImagePickerController 不允许平移裁剪

    我在这里看到这个问题 UIImagePicker 允许编辑卡在中心 https stackoverflow com questions 12630155 uiimagepicker allowsediting stuck in center
  • 使用 ZBarSDK 时 iPhone 相机失去自动对焦功能

    我正在开发一个应用程序 用户可以选择是否要扫描条形码或拍摄某物的照片 为了拍照 我正在使用UIImagePickerController照常 为了扫描条形码 我使用 ZbarSDK 1 2ZBarReaderViewController 拍
  • 在 UITableView 的部分标题文本下方添加一些边距

    我已经设计了标题文本的样式 func tableView tableView UITableView cellForRowAtIndexPath indexPath NSIndexPath gt UITableViewCell let ce
  • UILabel UILongPressGestureRecognizer 不起作用?

    我怎样才能得到UILongPressGestureRecognizer在 uilabel 当我实现以下代码时 它不会调用该函数 那么请告诉我我做错了什么 UILongPressGestureRecognizer longPress UILo
  • iPhone Twitter SDK 与 iOS 5 设备的集成问题

    我已成功将 Twitter Sharekit 与我的 iPad 应用程序源集成 当我在模拟器和装有 iOS 4 X 的 iPad 1 上测试该应用程序时 它运行完美 并且成功发布了推文 但是 如果我在装有 iOS 5 的 iPad 2 上安

随机推荐

  • 调整公式数组中的公式

    我有以下公式 我想将其输入到 Formulaarray 中 但由于大小限制而无法这样做 VLOOKUP MIN IF ABS S AT Reports Abhor Ganganagar 1 1550 A B xls 1 1550 A B C
  • 在 Python 中一次选择多个元素迭代列表

    我有一个列表 我想从中迭代一定长度的切片 尽可能最大程度地相互重叠 例如 gt gt gt seq ABCDEF gt gt gt join x for x in zip seq seq 1 seq 2 ABC BCD CDE DEF 换句
  • AWS服务通过校验和验证S3中文件的数据完整性?

    确保 S3 中的文件如其所声称的那样的一种方法是下载该文件 获取其校验和 并将结果与 您期望的校验和进行匹配 AWS 是否提供任何允许这种情况发生的服务without用户需要先下载文件吗 即理想情况下 一个简单的请求 url 提供 S3 文
  • 在 Scrapy 中使用经过身份验证的会话进行爬网

    In my 上一个问题 我对我的问题不是很具体 使用 Scrapy 进行经过身份验证的会话进行抓取 希望能够从更一般的答案中推断出解决方案 我可能应该用这个词crawling 所以 到目前为止 这是我的代码 class MySpider C
  • Swagger 2.x 过滤器未执行

    我正在 Jersey 2 34 Web 服务中使用 Swagger 2 x OpenAPI 3 0 io swagger v3 oas 记录 API 我扩展了 io swagger v3 core filter SpecFilter 来实现
  • 匿名类型列表的声明[重复]

    这个问题在这里已经有答案了 有没有办法声明匿名类型的列表对象 我是说 List
  • VSCODE Python 编译器不打印整个列表

    我使用 Visual Studio Code 进行任何编码 最近我注意到一件奇怪的事情 每当我尝试打印一个很长的列表时 该列表不会完全打印 它会被切断 primes for i in range 1000000 primes append
  • PHP:从json数组获取数据而不循环

    我想从数组中获取没有循环的数据 例如 我想获取 link click 的 值 我怎样才能做到这一点 我尝试过 但这不起作用 stats json decode data false link click stats gt data gt a
  • MySql Doctrine:查找给定变量是否为 IN 数组属性

    我有课堂任务categories整数数组属性 class Task var array ORM Column name categories type array nullable true private categories 现在在控制
  • 如何在 Apache 2.2.9 中使用 mod_ssl 将 openssl 0.9.8 升级到 1.0.2

    我被要求重新编译mo sslSuseSE11SP3 中使用 openssl 1 0 2 不过 我是 Suse 的新手 但对 linux 有一点了解 操作系统 苏塞SE11SP3 Openssl 0 9 8j 网络服务器 Apache htt
  • 用很少的条件删除所有重复的主题

    我正在尝试创建 sql 它将删除所有重复的标题 但必须删除具有以下条件的重复项 必须仅删除具有相同的重复项对象 ID 必须只保留最新的记录 最大的topic id topic id是每个主题AI的唯一id 到目前为止我已经做到了 使用 se
  • 将列转换为 JSON/dict 并展平 pyspark 列中的 JSON 值

    我是 Pyspark 的新手 我正在研究如何将列类型转换为 dict 类型 然后使用该列将该列展平为多个列explode 我的数据框如下所示 col1 col2 test 1 test1 Id 17 cName c1 Id 01 cName
  • 了解 Keras LSTM

    我试图调和我对 LSTM 的理解 并在此处指出克里斯托弗 奥拉的这篇文章在 Keras 中实现 我正在关注杰森 布朗利撰写的博客获取 Keras 教程 我主要困惑的是 将数据系列重塑为 samples time steps features
  • gfortran 编译器标志严格遵守 Fortran 77

    有什么办法让 gfortran 拒绝 Fortran 95 对 Fortran 77 的添加吗 我尝试过使用 std legacy标志 但这似乎只是删除了 f77 程序中的弃用警告 f95 的增强功能仍然可以正常工作 我也会尝试使用几个 g
  • Matlab中通过数据点拟合指数曲线

    有了可用的指数衰减数据 我想拟合一条穿过它的曲线 我怎样才能在Matlab中做到这一点 尝试这个 ft fittype exp1 cf fit time data ft 这是当time and data是你的数据向量 时间是自变量 数据是因
  • 如何获取 Azure Cosmos DB 上的批量 INSERT 的延续令牌?

    我想上传一个 CSV 文件 该文件表示要以快速且原子的方式添加到我的 Cosmos DB 集合中的 10k 文档 我有一个类似于以下伪代码的存储过程 function createDocsFromCSV csv text function
  • Mutagen:如何提取专辑封面属性?

    我正在尝试使用 python 3 7 1 和 mutagen 1 42 从 mp3 文件中获取专辑封面图片的属性 到目前为止只是宽度和高度 但可能会更多 但到目前为止似乎没有任何效果 我还能够正确提取一些其他信息 医生正在讲述APIC 但尝
  • 仅在 IE 上应用样式

    这是我的 CSS 块 actual form table padding 5px 0 15px 15px margin 0 0 30px 0 display block width 100 background f9f9f9 border
  • 网页宽度不是 100%

    我有一个一页网站 我的问题是 在右侧 大约有 15 像素的边距 我的 body 和 div 的宽度设置为 100 我还必须在页面底部稍微滚动 此问题与所有屏幕尺寸相关 我怎样才能解决这个问题 我不确定要突出显示哪些 css 和 html 代
  • 适用于 ios 的 Spotify API:从 ios spotify api 下载、保存、访问曲目

    我想知道是否可以使用Spotify ios api CocoaLibSpotify IOS 库 将曲目下载到iphone ipod ipad 设备 如果是这样 我还需要访问它们并随时玩 稍后我将在我的应用程序中使用它们 我认为我们可以使用