我正在创建一个从Amazon S3流式传输音频的应用。我正在关注这个网站(http://swiftdeveloperblog.com/code-examples/avplayer-play-music-mp3-file-from-a-remote-url-in-swift/)的教程并使其正常运行。问题是当我在播放音乐之前按下播放时会出现延迟。
我该如何解决这个问题?是什么导致它?
答案 0 :(得分:0)
这是非常令人期待的。当您通过HTTP流式传输mp3时,iOS将在播放音频流之前进行缓冲。所以最初的延迟是预期的。如果您尝试在本地播放文件,则应立即启动。
一种可能的解决方案是下载mp3并在播放前将其存储在本地。但问题是,值得麻烦吗?
答案 1 :(得分:0)
通过为S3存储桶设置CloudFront分配并从中提供服务而不是直接从S3提供服务,您可以获得更好的性能。
答案 2 :(得分:0)
请记住,S3就像云中的集中式硬盘。根据您位于S3存储桶的位置以及正在访问S3存储桶的访问者的位置,它每次都必须从该集中存储桶中检索文件。
因此,为了加快加载时间,请将CloudFront添加到组合中,这将有助于文件加载,无论查看器/监听器的地理位置如何。
-拉维·贾亚格帕(Ravi Jayagopal)/ https://s3mediavault.com/demo/s3-streaming-audio-player/