当前播放时间、MPMusicPlayerController和iOS 7.1存在问题

4

在iOS 7.1中,使用MPMusicPlayerController设置currentPlaybackTime时遇到问题。 我以前可以简单地这样做:

MPMusicPlayerController *iPodController =
[MPMusicPlayerController applicationMusicPlayer]; 
iPodController.currentPlaybackTime = 30.0;
[iPodController play];

音乐播放器将寻找并播放30秒。

iOS 7.1版本以后不再是这种情况。

如果我执行以下操作:

[iPodController play];
iPodController.currentPlaybackTime = 30.0;

然后它“可能”跳过30秒,也可能不跳。非常不一致。

在之前的所有iOS版本中,这都是有效的。有没有办法解决这个问题?


猜测:如果在设置当前播放时间之前需要播放歌曲,连续调用play和setCurrentPlayBackTime可能会发生得太快。播放器可能还没有改变其状态为正在播放。 - Niels Castle
一个已删除的答案建议设置 initialPlaybackTime - ivan_pozdeev
1个回答

0

我发现在播放某首歌曲之前无法设置currentPlaybackTime

使用您的第一个片段:

iPodController.currentPlaybackTime = 30.0;
[iPodController play];

设置currentPlaybackTime属性没有任何作用,我无法跳转到所需的播放时间。但是,反过来调用却一直在iOS 7.1上稳定工作:

[iPodController play];
iPodController.currentPlaybackTime = 30.0;

1
对于某些人来说,调用播放功能然后设置currentPlaybackTime会导致播放器在一秒左右播放开头,然后跳转到30。我认为没有解决方案,因为currentPlayBackTime好像已经过时了。我已经成功使用AVPlayer实现了这一点,但正如已经提到的,AVPlayer无法播放受FairPlay保护的文件。非常令人沮丧。 - Aron Nelson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接