我有非常大的 wav 文件(1.5+ GB - 对于 7.4.1 声音),当我使用 AVPlayer 流式传输它们时,它们需要 5 分钟以上才能开始加载。似乎是先下载整个文件,然后再播放。即使我使用 mp3 版本(75+ MB),在播放之前也会下载一分多钟。
我也尝试过:
playerItem.preferredForwardBufferDuration = 10
let player = AVPlayer(playerItem: playerItem)
player.automaticallyWaitsToMinimizeStalling = false
和
player.playImmediately(atRate: 1.0)
没有成功。
我尝试过使用 SwiftAudioPlayer 和其他使用 AVEngine 的模块,声音立即开始,但 UI 冻结并且声音严重断断续续。
声音在 Sola42d(我的首选框架)中工作正常,但我无法在应用程序暂停的情况下在后台播放声音。我用 Solar2d 构建了我的项目,然后添加了 Swift 模块来播放 AVPlayer(解决后台问题),但无法克服这些问题 - 要么在播放前等待几分钟,要么 CPU 饱和并卡顿。
我有什么选择?使用带有缓冲区和后台下载的 AVEngine 从头开始编码(我是 Swift 的初学者)? AVPlayer 是否有任何设置可以使流媒体适用于大文件?
已解决。这一切都适用于大文件,我犯了一个愚蠢的范围错误,