检测歌曲何时停止播放

时间:2013-08-28 20:22:49

标签: iphone ios objective-c mpmusicplayercontroller

这似乎是一些非常基本的东西但是如何在歌曲结束时执行某个功能?我正在播放一个项目,当它结束时(或者如果可能的话,在它结束前10秒)我想调用一个从web服务获取下一首歌的功能。

认为是在MPMusicPlayerControllerPlaybackStateDidChangeNotification通知中处理的,但我不确定。对于记录,此通知仅需要在歌曲结束时(而不是暂停)。

我只有这个,这是上述观察者的功能:

- (void) handle_PlaybackStateChanged: (id) notification
{
    MPMusicPlaybackState playbackState = [musicPlayer playbackState];
}

如何判断歌曲是否已经结束?此外,当歌曲还剩10秒时,是否可以创建观察者/功能?

1 个答案:

答案 0 :(得分:3)

收到通知后,您可以查找MPMusicPlayerController的playbackState属性。

至于在歌曲结束前10秒执行一个功能,您可以根据歌曲的长度减去10秒来设置将来执行的计时器,如果用户更改{您需要取消该计时器{1}}或选择不同的歌曲。