ios - 在 iOS 中使用 AVPlayer 进行音频流播放时的播放速度

标签 ios swift audio streaming avplayer

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

我在这个项目中使用 AVPlayer:

streamingPlayer = AVPlayer(playerItem: audioItem)

调整播放速度:

streamingPlayer.rate = slider.value

我使用测试服务器对其进行了测试,对于有助于访问音频文件的普通链接来说,它工作得很好。播放速度的调整没有问题,效果很好。

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

我尝试使用下面的函数,但没有帮助:

audioItem.canPlayFastForward

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

我浏览过AVPlayer文档并尝试了几乎提供的所有功能。

这是一个示例 link 。如果有人能帮助我,我将不胜感激!

最佳答案

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

关于ios - 在 iOS 中使用 AVPlayer 进行音频流播放时的播放速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28185385/

相关文章:

ios - Swift - SWRevealViewController 菜单放置在状态栏之后

ios - 使用不同的起点条目快速混合两个音频文件

ios - 无需菜单 ios 即可自动分享到 whatsapp

javascript - 是否可以将变量存储在数组或对象中并引用它以获取变量的值而不是变量的字符串名称?

iphone - 浏览 iphone 上的文件以获取崩溃日志

ios - uicollectionview 在重新加载数据后立即选择一个项目?

swift - 在 Swift 中,我可以编写一个通用函数来调整数组的大小吗?

ios - 信号器自签名证书错误 - 协商请求期间出错 iOS

android - Android中如何限制mp3文件在其他应用程序中播放

javascript - 如何使用 navigator.share() 在 iOS 上显示 'Add to home screen'?