有奖捉虫:行业应用 & 管理与支持文档专题 HOT
文档中心 > 云点播 > 常见问题 > 移动端播放问题
本文主要介绍 Android 与 iOS 端几类常见问题及相应解决方案。

出现“no v4 play info”异常?

通过 FileId 播放时,需要首先使用 Adaptive-HLS(10) 转码模板对视频进行转码,或者使用播放器签名 psign 指定播放的视频,否则可能导致视频播放失败。
在未开启防盗链进行播放的过程中,如果出现了“no v4 play info”异常,建议您使用 Adaptive-HLS(10) 转码模板对视频进行转码,或直接获取源视频播放链接通过 URL 方式进行播放。具体操作方法参见 通过 FileId 播放(点播)

如何提取播放器日志进行错误反馈?

播放器 SDK 默认把运行的 log 输出到本地文件,腾讯云技术支持 在帮忙定位问题时,需要这些运行 log 分析问题。可以通过 此教程 进行 log 提取。

如何拉取腾讯云的媒资进行播放?

出于安全的考虑,目前没有提供从 App 直接拉取腾讯云媒资的接口。您需要通过 App>App 服务后台>腾讯云这个路径拉取腾讯云的媒资。后台服务可以调用云 API:搜索媒体信息接口,获取列表。

在手机上使用网络代理或者抓包工具导致视频播放失败怎么处理?

手机设置 http 代理的时候,需要把 localhost 设置为绕过代理。
Android 手机设置举例: 手机设置 > WIFI 设置 > 对应的 WIFI 链接 > 进入高级设置页 > 手动设置 http 代理下面有个绕过代理的框,填入 localhost。

TV 或 iOS 首次启动 App,播放提示 startPlay error, licence check failed(-5)!,播放视频失败?

如果您的应用需要在系统启动后,网络还未连接的情况下,例如:TV 或车机系统启动后网络要过一段时间才可以使用, 或者 iOS App 安装后首次启动还未进行联网授权,马上使用播放进行播放视频。 此时可能由于 App 还不能联网,导致 License 加载验证失败,播放视频失败。您可以额外集成离线 License 文件,把 License 和应用打包在一起,保证首次启动 App 时播放视频成功。详细步骤如下:
1. 提取到 LicenseUrl, 粘贴到浏览器,把 License 文件下载到本地,并重命名为 TXLiveSDK.licence。
2. Android 端把 License 文件放置在 assets 目录;iOS 端放置在工程目录下,即[NSBundle mainBundle] 能读取的地方。
注意:
License 的文件名称和存放路径一定要正确,否则会加载失败。

Android SDK

播放过程中没有画面怎么处理?

请检查 SurfaceView 或 TextureView 是否绑定了 TXVodPlayer 对象。

如何减少包体积?

如果之前没有使用过9.4以及更早版本的 SDK 的 下载缓存功能(TXVodDownloadManager 中的相关接口),并且不需要在9.5及后续 SDK 版本播放9.4及之前缓存的下载文件,可以不需要该功能的 so 文件,以减少安装包的体积。
例如:在9.4及之前版本使用了 TXVodDownloadManager 类的 setDownloadPath 和 startDownloadUrl 函数下载了相应的缓存文件,并且应用内存储了 TXVodDownloadManager 回调的 getPlayPath 路径用于后续播放,这时候需要 libijkhlscache-master.so 播放该 getPlayPath 路径文件,否则不需要。可以在 app/build.gradle 中添加:
packagingOptions {
exclude "lib/armeabi/libijkhlscache-master.so"
exclude "lib/armeabi-v7a/libijkhlscache-master.so"
exclude "lib/arm64-v8a/libijkhlscache-master.so"
}
如果您的 App 只在中国大陆地区使用,可以打包 armeabi-v7aarm64-v8a 两个架构的 so 文件,或者只打包 jar,安装后动态下载 so 文件。具体教程请参见 如何缩减安装包

如何减少控制台 log 输出?

10.2 版本开始,可以通过设置 LogLevel,把不需要关注的 log 过滤掉:TXLiveBase.setLogLevel(TXLiveConstants.LOG_LEVEL_DEBUG)。

当播放视频时,如果用户锁屏或将应用程序退到后台,可能会导致播放器被系统杀掉或禁止联网,如何处理?

为了避免这种情况,可以在 App 内使用前台服务。关于如何使用前台服务,可以参考官方文档

iOS SDK

播放控制面板显示不出来

播放控制面板显示是通过 MPNowPlayingInfoCenter 来显示的,通过设置 nowPlayingInfo 属性可以更新标题、图片以及设置声音大小等,具体可以参见 SuperPlayer Demo

减少控制台 log 输出

可以通过设置 TXLiveBase.h 中的 setLogLevel 接口来设置 LogLevel,[TXLiveBase setLogLevel:LOGLEVEL_DEBUG] ,数值越大输出的日志越少,即: 0 ( 输出所有级别的日志)~ 6(不输出任何日志),具体可以参见 TXLiveBase.h。


http://www.vxiaotou.com