FAQ - Arcloud/ArcPlayer-iOS GitHub Wiki
1. 播放时是否会做重连
不会主动重连,App在接收到网络连接错误之后需要重新调用openWithPath:接口
2. 视频启动时间太长怎么办? 视频缓冲时间是否可以设置?
可以通过接口setInitBufferingTime: PlayingTime: MaxBufferingTime: 来设置启动时间与缓冲时间。上述接口的第一个参数用来设置启动时间,表示设为0表示秒开,即收到数据就开始播放,第二个参数用来设置缓冲时间,表示播放器进入缓冲状态后,回到播放状态所需要接收的数据长度,设表示收到数据就开始播放(均以毫秒为单位)。启动时间与缓冲时间设得越小,则从开始接收数据到开始播放的等待时间越小,适合网络环境非常好的情况,如果网络环境较差,则很容易频繁进入缓冲状态。
3. 收到了超时的错误表示什么意思?
表示网络不稳定,导致数据接收超时/网络连接超时/DNS解析超时
4. 程序在后台时是否支持继续播放? 需要注意哪些事项
如果需要支持后台播放音频,那么进入后台的时候需要调用applicationWillResignActive,切回前台的时候调用applicationDidBecomeActive; 如果不需要支持后台播放,那么点播流进入后台的时候需要先调用pause,接着调用applicationWillResignActive,切回前台的时候先调用applicationDidBecomeActive,接着调用play;直播流进入后台的时候需要调用stop,调用applicationWillResignActive,切回前台的时候调用applicationDidBecomeActive
5. 横竖屏切换应如何处理?
- 重新设置view的frame
- 调用changeScreen:andFrame:接口(参考sampleCode)
6. 不切换横竖屏, 只旋转视频方向可以吗?
可以通过设置CALayer的属性transform进行旋转
7. 画面被拉伸, 或者上下/左右有黑边怎么办?
- 屏幕分辨率与视频分辨率宽高比不一致的情况player是根据视频的分辨率和显示区域的宽高来计算真实宽高的,比如一个16:9的视频,在iPhone5上面竖屏显示的时候,iPhone5的宽是320,因此视频的宽也是320,视频的高=320 *9 / 16 = 180,如果传入的显示区域是320 X 240的话,上下会各自流出30的黑边
- 外部设置显示区域可以通过setDisplayMode这个接口来设置显示模式(显示模式详见DisplayMode的定义)
8. 从一个视频切到另外一个视频应该怎么调用?
先停止当前视频的播放,再开始另外一个视频的播放
9. 如何获取缓冲状态, 并刷新百分比?
缓冲状态和百分比会在STATECHANGE这个通知里返回,具体使用方法请参考sampleCode
10. 能否将进度条, 缓冲进度等都写成回调的形式?
当前版本播放进度与缓冲进度都会通过STATECHANGE这个通知返回,播放进度也可通过特定的接口获取
11. HLS自适应码率策略是怎么样的?
- 首先满足以下条件:当前待播放的hls码流包含多个不同码率的ts切片流;
- 策略描述:对于多码率的hls流,播放器会默认选择码率值居中的一条ts切片流来初始播放。在播放过程中,播放器会即时统计、更新当前播放中ts切片的下载速率/码率,在当前ts切片播放完毕,切换到下一个切片播放前,播放器会判断当前下载的码率值是否还在当前播放的ts切片流的码率区间(即当前切片流的码率到大于当前流的下一个切片流码率),不是的话切换到最接近当前下载码率的一条ts切片流来播放。
12. 调用了play方法但没有自动开始播放?
在主线程里调用play方法
13. 编译的时候出现Undefined symbols for architecture x86_64的错误怎么办?
SDK不支持模拟器运行,请连上设备之后选择对应的设备进行调试与运行
14. 使用你们SDK播放时有画面无声音是怎么回事?
- 请确认源是否有声音
- 可能音频格式不支持(是否接收到MEDIA_INFO_ACODEC_UNSUPPORTAUDIO这个警告)
15. 使用你们SDK播放时有声音无画面(黑屏)是怎么回事?
- 请确认源是否有画面
- 可能视频格式不支持(是否接收到MEDIA_INFO_VCODEC_UNSUPPORTVIDEO这个警告)
16. 使用你们SDK播放时出现花屏/马赛克是怎么回事?
网络流在传输过程中发生了丢帧,导致播放器接收到的数据不完整,请检查网络环境是否出现异常,数据源是否出现丢帧
17. 播放网络流时出现卡顿是什么原因?
网络抖动导致接收不到数据,视频会持续显示同一帧,请检查网络环境是否出现异常
18. 高清的片源播放时看起来比较模糊是怎么回事?
请确认源本身是否是高清片源