tencent cloud

云点播

动态与公告
产品动态
公告
产品简介
产品概述
产品特性
产品功能
产品优势
应用场景
解决方案
专业版
云点播专业版简介
快速入门
控制台指南
开发指南
购买指南
计费概述
计费方式
购买指引
账单查询
续费说明
欠费说明
退费说明
快速入门
控制台指南
控制台介绍
服务概览
应用管理
媒体管理
资源包管理
License 管理
实时日志分析
实践教程
媒体上传
如何将点播的媒体文件进行智能降冷
媒体处理
分发播放
如何接收事件通知
如何进行源站迁移
直播录制
如何进行自定义源站回源
直播精彩剪辑固化至云点播 VOD 指引
如何使用 EdgeOne 分发云点播内容
开发指南
媒体上传
媒体加工处理
媒体 AI
事件通知
媒体分发播放
媒体加密与版权保护
播放频道
访问管理
下载媒体文件
应用体系
错误码
播放器 SDK 文档
概述
基本概念
产品功能
Demo 体验
免费测试
购买指南
SDK 下载
License 指引
播放器教程
含 UI 集成方案
无 UI 集成方案
高级功能
API 文档
第三方播放器插件
Player SDK Policy
服务端 API 文档
History
Introduction
API Category
Other APIs
Media Processing APIs
Task Management APIs
Media Upload APIs
Media Management APIs
Event Notification Relevant API
Media Categorization APIs
Domain Name Management APIs
Distribution APIs
AI-based Sample Management APIs
Region Management APIs
Data Statistics APIs
Carousel-Related APIs
Just In Time Transcode APIs
No longer recommended APIs
Making API Requests
AI-based image processing APIs
Parameter Template APIs
Task Flow APIs
Data Types
Error Codes
Video on Demand API 2024-07-18
常见问题
移动端播放问题
费用相关问题
视频上传问题
视频发布问题
视频播放问题
Web 端播放问题
全屏播放问题
数据统计问题
访问管理相关问题
媒资降冷问题
相关协议
Service Level Agreement
VOD 政策
隐私政策
数据处理和安全协议
联系我们
词汇表
文档云点播常见问题移动端播放问题

移动端播放问题

PDF
聚焦模式
字号
最后更新时间: 2024-12-02 17:39:37
本文主要介绍 Android 与 iOS 端几类常见问题及相应解决方案。

Android&iOS

出现“no v4 play info”异常

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

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

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

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

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

与 TRTC 共存,播放视频声音变小?

项目中 TRTC 和播放器共存的情况下,出现播放视频时声音变小的情况(被压制)。 解决方案:10.0版本以上的 SDK,在创建播放器播放视频之前,先调用 attachTRTC 方法绑定:
// iOS端代码示例:
[_txVodPlayer attachTRTC:trtcCloud];
[_txVodPlayer startPlay:url]
// Android端代码示例:
mVodPlayer.attachTRTC(trtcCloud);
mVodPlayer.startPlay(url);

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

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

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 输出

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

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

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

Android P 系统上使用播放器出现错误 "java.io.IOException: Cleartext HTTP traffic to 127.0.0.1 not permitted", 导致无法播放视频,如何处理?

出于安全考虑,从 Android P 开始,Google 要求 App 的请求都使用加密链接。播放器 SDK 会启动一个 localsever 代理 http 请求,因此可以通过 网络安全配置 来开启允许向127.0.0.1发送 http 请求。
1. 在项目新建 res/xml/network_security_config.xml 文件,设置网络安全性配置。
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">127.0.0.1</domain>
</domain-config>
</network-security-config>
2. 在 AndroidManifest.xml 文件下的 application 标签增加以下属性。
<?xml version="1.0" encoding="utf-8"?>
<manifest ... >
<application android:networkSecurityConfig="@xml/network_security_config"
... >
...
</application>
</manifest>

iOS SDK

集成 SDK 运行以后,运行后出现“[TXCThumbPlayer thumbPlayerBundleId] unrecognized selector”类型的 Crash?

此问题是由于 SDK 中包含类别(category)所致,这里需要增加“-ObjC”标志位,具体步骤如下: 打开 Xcode,选择对应的 Target,选择 Build Setting,搜索 Other Link Flag 输入 -ObjC

集成 SDK 运行以后,运行后出现“dyld[34620]: Library not loaded: @rpath/TXFFmpeg.framework/TXFFmpeg” 类型的 Crash?

此问题是由于动态库 TXFFmpeg.framework 集成进了 Project 中,但未设置“Embed & Sign”导致:
1. 打开 Xcode,选择对应的 Target,选择 General
2. 选择 Frameworks,Libraries,and Embedded Content,选择 TXFFmpeg.framework,并在右侧选择 Embed & Sign。

播放控制面板显示不出来

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

减少控制台 log 输出

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

遇到用 appid + fileid 播放视频失败,提示14010020错误?

此类问题是由于文件(.mp4 或 .hls)下载失败所致,请使用10.6及以上的 SDK 进行尝试,此类问题已经在新版本进行了修复。

播放器下载 TXVodDownloadManager 下载 m3u8 文件,TXVodDownloadDelegate 回调里没有 size 和 downloadSize 大小的数值?

此类问题是由于 m3u8 文件的标准协议没有包含文件的大小,而每个分片的 ts 只有在请求时才能获取到大小,因此无法在下载之前准确返回文件的大小。

在 iOS13 及以上的设备上,选择相册视频播放时提示“播放失败”?

此类问题是由于 iOS13 及以上,相册插件访问的路径发生了变更(如:var/mobile/Containers/Data/PluginKitPlugin/tmp), 可以通过将相册数据复制到沙盒底下的临时目录来提供路径访问(例如 tmp 目录等)。


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈