使用AVPlayer在iOS中音频流播放期间的播放速度

时间:2015-01-28 05:38:55

标签: ios swift audio streaming avplayer

我正在使用Swift开发iOS应用程序,我的问题是,尝试在音频流中调整播放速度。

我在这个项目中使用AVPlayer:

streamingPlayer = AVPlayer(playerItem: audioItem)

调整播放速度:

streamingPlayer.rate = slider.value

我使用测试服务器测试它,它适用于有助于访问音频文件的普通链接。调整播放速度没有问题,它可以正常工作。

当链接涉及更多安全性时,会出现问题。我可以通过.ashx通过请求访问音频。速度可以慢(AVPlayer rate < 1),但是当必须加快速度时会出现问题。 (正常率为1,所以问题是率不能大于1)

我尝试使用下面的功能,但它没有帮助:

audioItem.canPlayFastForward

另一个奇怪的问题是,当测试人员在高速互联网上测试它时,它运行良好。我测试它的速度在15-30 mbps之间,问题仍然存在。我假设它与服务器的连接有问题。我不希望用户使用高速互联网来使用该应用。那么有人可以帮我优化或解决这个问题吗?

我查看了AVPlayer文档并尝试了几乎所有提供的功能。

以下是link示例。如果有人可以帮助我,我将不胜感激!

2 个答案:

答案 0 :(得分:1)

我意识到这将在9个月之后出现,但我遇到了类似的问题并想出来,所以我想我会在将来为任何看过这个的人发帖。您必须设置:AVAudioPlayerName.enableRate = true.

答案 1 :(得分:1)

您可以通过以下单行代码提高或降低费率:

Avplayer.playImmediately(atRate: 1.25)// change the rate