AVAudioPlayer 是从磁盘流式传输文件,还是一次将其全部加载到内存中?
Posted
技术标签:
【中文标题】AVAudioPlayer 是从磁盘流式传输文件,还是一次将其全部加载到内存中?【英文标题】:Does AVAudioPlayer stream a file from disk, or does it load it into memory all at once? 【发布时间】:2012-11-18 12:58:04 【问题描述】:我想播放长达一小时的超长音频文件。 AVAudioPlayer 似乎是最简单的解决方案。但它也有效率还是在播放之前将整个文件加载到内存中?
【问题讨论】:
"但是它是否也很高效,还是在播放之前将整个文件加载到内存中?" - 两者没有直接的 1:1 相关性。效率不高。 【参考方案1】:AVAudioPlayer 的 Apple 文档说:
AVAudioPlayer 类的一个实例,称为音频播放器, 提供文件或内存中音频数据的播放。
Apple 建议您使用此类进行音频播放,除非您是 播放从网络流中捕获的音频或需要非常低的 I/O 延迟。
【讨论】:
以上是关于AVAudioPlayer 是从磁盘流式传输文件,还是一次将其全部加载到内存中?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 AVAudioPlayer 执行 .m4a 歌曲文件的流式传输?
哪个 iOS 音频 API 设计用于以低延迟从磁盘流式传输大型本地音频文件?
read_csv() 中的 S3 阅读器是先将文件下载到磁盘还是使用流式传输?