无法使用 Spotify iOS App Remote SDK 禁用自动播放

Posted

技术标签:

【中文标题】无法使用 Spotify iOS App Remote SDK 禁用自动播放【英文标题】:Cannot Disable Autoplay with Spotify iOS App Remote SDK 【发布时间】:2019-07-01 01:50:36 【问题描述】:

我正在尝试使用以下 Swift 函数禁用后台 Spotify 自动播放(通过 App Remote SDK)。

private static func configureAppRemote() 
    if let player_api = SpotifySDK.shared.app_remote.playerAPI 
        player_api.setRepeatMode(.off, callback: SpotifySDK.debug_callback)
        player_api.setShuffle(false, callback: SpotifySDK.debug_callback)
        is_configured = true
     else 
        is_configured = false
    

我的 SpotifySDK.debug_callback 打印出这两个调用的闭包参数并返回 (result, error) = (nil, nil),尽管 Objective-C Spotify SDK 源代码声称这种状态是不可能的:

@param callback On success `result` will be `YES`.
                On error `result` will be `nil` and `error` will be set.

有人知道如何使用 App Remote 正确禁用自动播放吗?

【问题讨论】:

【参考方案1】:

您的会话管理器是什么样的?我遇到了同样的问题,并从我的会话管理器声明自动播放停止中注释掉以下内容:

lazy var sessionManager: SPTSessionManager = 
    if let tokenSwapUrl = URL(string: "https://conservative-media.herokuapp.com/api/token"),
        let tokenRefreshUrl = URL(string: "https://conservative-media.herokuapp.com/api/refresh_token") 
        self.configuration.tokenSwapURL = tokenSwapUrl
        self.configuration.tokenRefreshURL = tokenRefreshUrl
//            self.configuration.playURI = ""
    
    let manager = SPTSessionManager(configuration: self.configuration, delegate: self)
    return manager
()

playURL 的空白字符串将自动播放用户上次播放的音频,您也可以输入有效的 Spotify URI 来播放该自动播放。

【讨论】:

以上是关于无法使用 Spotify iOS App Remote SDK 禁用自动播放的主要内容,如果未能解决你的问题,请参考以下文章

与 Spotify 新库相关的 iOS App Rejection

在 iOS 上通过 Spotify App Remote 的 SPTSession 进行身份验证时获取一个奇怪的刷新令牌

Spotify App API 错误报告:播放器音量无法设置为值

Spotify Android API ACCOUNTS_INVALID_APP_ID

无法播放歌曲 Spotify SDK

无法识别 Spotify API 范围 - 无法访问用户信息