sessionDidEndPlayback未被调用

时间:2013-01-02 02:54:07

标签: spotify cocoalibspotify-2.0

我已经包含了SPSessionPlaybackDelegate并包含了方法:

-(void)sessionDidEndPlayback:(SPSession *)aSession {
NSLog(@"song ended");

}

然而,当歌曲自然地结束播放时,这不会被调用。有没有什么我应该做额外的实现这个委托?其他此类方法在适当的时候被调用:

-(void)sessionDidLoginSuccessfully:(SPSession *)aSession; {

}

1 个答案:

答案 0 :(得分:3)

sessionDidEndPlayback:SPSessionPlaybackDelegate协议的一部分,而不是SPSessionDelegate。无论将哪个对象设置为会话对象的playbackDelegate,都会调用它。

但是,如果您使用SPPlaybackManager进行音频播放,则该类会在您创建会话时将其自身设置为会话playbackDelegate,并要求它保持这种状态

目前,SPPlaybackManager没有为跟踪结束提供委托方法,因此在当前版本的CocoaLibSpotify中执行此操作的方法是观察SPPlaybackManager的{​​{1}}属性 - 当它currentTrack时,你知道播放已经结束。

CocoaLibSpotify的nil分支刚刚将方法dev添加到playbackManagerIsFinishingPlayback:的委托协议。