1

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

认为它已在MPMusicPlayerControllerPlaybackStateDidChangeNotification通知中处理,但不确定。为了记录,这个通知只需要在歌曲结束时(而不是暂停)。

我所拥有的就是这个,这是上述观察者的功能:

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

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

4

1 回答 1

3

当您收到通知时,您可以查找 MPMusicPlayerController 的PlaybackState属性。

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

于 2013-08-28T20:37:12.953 回答