Swift 3.0 中的 Spotify SDK:如何知道歌曲何时结束



我正在使用Spotifyapi在Swift中构建一个个人应用程序,它需要做的一件事是在播放的歌曲结束后播放另一首歌曲。我有歌曲的ID都按照我想要的方式排序,我可以成功地播放它们。

只需要知道是否有办法知道一首歌何时结束,这样我就知道什么时候开始播放下一首歌或做其他事情(每次歌曲结束时,我都会发出HTTP请求出于其他原因(。

您可以指出我的任何建议或任何资源都非常有帮助!无法通过谷歌搜索找到答案:(

Spotify API:有没有办法确定歌曲何时播放完毕?

这是一个类似的问题,但它是针对javascript的,从未得到回答。

您可以实现SPTAudioStreamingPlaybackDelegate协议,设置 Spotify 播放器的 playbackDelegate 属性并实现didStopPlayingTrack 。示例类如下所示:

class MyClass: NSObject, SPTAudioStreamingPlaybackDelegate {
    var player = SPTAudioStreamingController.sharedInstance()

    func setup() {         // Whatever function does the setup.
        player?.playbackDelegate = self
    }
    func audioStreaming(_ audioStreaming: SPTAudioStreamingController!, didStopPlayingTrack trackUri: String!) {
        playNextSong()      // Or whatever else you wish to do here.
    }
    func playNextSong() {
        // ...
    }
}

(请注意,设置函数可以是任何内容 - 例如,如果观察播放器的对象是视图控制器而不是子类化NSObject,则viewDidLoad

由于didStopPlayingTrack是一个委托函数,Spotify SDK 应该在被调用时进行管理(更具体地说,播放器应该在其委托对象上调用它(——只要设置了玩家的委托,你就不需要自己调用它。

最新更新