使用 AVPlayer 在 iOS 中音频流期间的播放速度
Posted
技术标签:
【中文标题】使用 AVPlayer 在 iOS 中音频流期间的播放速度【英文标题】:Playback speed during Audio Streaming in iOS using AVPlayer 【发布时间】:2015-01-28 05:38:55 【问题描述】:我正在使用 Swift 开发 ios 应用程序,但我的问题是,试图在音频流式传输期间调整播放速度。
我正在为这个项目使用 AVPlayer:
streamingPlayer = AVPlayer(playerItem: audioItem)
调整播放速度:
streamingPlayer.rate = slider.value
我使用测试服务器对其进行了测试,它适用于有助于访问音频文件的普通链接。播放速度的调整没有问题,效果很好。
当链接涉及更多安全性时,就会出现问题。我可以通过.ashx
请求访问音频。速度可以变慢(AVPlayer rate < 1)
,但是当它必须变快时就会出现问题。 (正常比率为 1,所以问题是比率不能大于 1)
我尝试使用下面的功能,但没有帮助:
audioItem.canPlayFastForward
另一个奇怪的问题是,当测试人员在高速互联网上对其进行测试时,它运行良好。我以 15-30 mbps 的速度对其进行了测试,但问题仍然存在。我假设这是与服务器连接的问题。我不希望用户使用高速互联网来使用该应用程序。那么有人可以帮我优化或解决这个问题吗?
我查看了AVPlayer
文档并尝试了几乎所有提供的功能。
这是一个示例link。如果有人可以帮助我,将不胜感激!
【问题讨论】:
【参考方案1】:我意识到这将在 9 个月后出现,但我遇到了与您类似的问题并想通了,所以我想我会为将来看到此问题的任何人发帖。你必须设置:AVAudioPlayerName.enableRate = true.
【讨论】:
【参考方案2】:您可以通过此单行代码增加或减少费率:
Avplayer.playImmediately(atRate: 1.25)// change the rate
【讨论】:
以上是关于使用 AVPlayer 在 iOS 中音频流期间的播放速度的主要内容,如果未能解决你的问题,请参考以下文章
iOS SDK AVPlayer - 如何检测音频流是不是可搜索?
在 iOS 13 上,AVPlayer 会为此 HLS 视频选择仅音频流。我可以控制这种行为,而是让它加载视频+音频吗?