这似乎是一些非常基本的东西但是如何在歌曲结束时执行某个功能?我正在播放一个项目,当它结束时(或者如果可能的话,在它结束前10秒)我想调用一个从web服务获取下一首歌的功能。
我认为是在MPMusicPlayerControllerPlaybackStateDidChangeNotification
通知中处理的,但我不确定。对于记录,此通知仅需要在歌曲结束时(而不是暂停)。
我只有这个,这是上述观察者的功能:
- (void) handle_PlaybackStateChanged: (id) notification
{
MPMusicPlaybackState playbackState = [musicPlayer playbackState];
}
如何判断歌曲是否已经结束?此外,当歌曲还剩10秒时,是否可以创建观察者/功能?
答案 0 :(得分:3)
收到通知后,您可以查找MPMusicPlayerController的playbackState属性。
至于在歌曲结束前10秒执行一个功能,您可以根据歌曲的长度减去10秒来设置将来执行的计时器,如果用户更改{您需要取消该计时器{1}}或选择不同的歌曲。