作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我在使用 AVPlayer
时遇到长歌曲问题。
我已经在一首 64 分钟的歌曲上对其进行了测试。
问题是:当 AVPlayer
缓冲区已满时,它会停止播放(速率 = 0.0f)并停止下载新的 timeRanges。当我手动恢复播放时,它会播放几秒钟然后再次停止。我认为它会继续下载新内容进行缓冲,但这个过程非常缓慢,不适合无缝播放。
是否可以控制这种情况实现无缝播放?
我可以在播放期间修改加载的时间范围(清理缓冲区)吗?
我可以增加缓冲区大小吗?
最佳答案
你是在主线程上运行它吗?尝试做这样的事情:
#include <dispatch/dispatch.h>
dispatch_queue_t playQueue = dispatch_queue_create("com.example.playqueue", NULL);
AVAudioPlayer* player = ...
dispatch_async(playQueue, ^{
[player play];
});
如果这不起作用,我建议提供 OpenAL一试。
关于objective-c - AVPlayer长歌缓冲问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13833357/
我是一名优秀的程序员,十分优秀!