Tizen AVPlay播放云端MP4报错PLAYER_ERROR_CONNECTION_FAILED求助
解决方案:AVPlay PLAYER_ERROR_CONNECTION_FAILED 问题排查
针对你遇到的「
1. 校验HTTPS证书与TLS版本兼容性
AVPlay对HTTPS的验证逻辑比浏览器更严格:
- 确认服务器使用受信任CA颁发的正规证书,自签名证书会被AVPlay直接拒绝(
- 检查服务器TLS版本支持情况,Tizen设备的AVPlay通常不兼容TLS 1.0/1.1,需确保服务器开启TLS 1.2及以上版本。
2. 添加自定义HTTP请求头
AVPlay默认请求头与浏览器差异较大,部分服务器会因请求头缺失或不符拒绝访问。可通过setHTTPHeader补充必要请求头,示例:
webapis.avplay.open("https://preskripsi.com/assets/net.mp4"); // 添加适配Tizen设备的User-Agent webapis.avplay.setHTTPHeader("User-Agent", "Mozilla/5.0 (SMART-TV; Linux; Tizen 5.0) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/2.2 TV Safari/537.36"); webapis.avplay.setDisplayRect(0, 0, 1920, 1080); webapis.avplay.setDisplayMethod("PLAYER_DISPLAY_MODE_AUTO_ASPECT_RATIO"); webapis.avplay.setListener(listener); webapis.avplay.prepareAsync(function () { webapis.avplay.play(); });
3. 配置AVPlay HTTP相关属性
尝试开启HTTP重定向支持或调整缓存参数,适配服务器响应规则:
webapis.avplay.open("https://preskripsi.com/assets/net.mp4"); // 允许HTTP重定向 webapis.avplay.setProperty("HTTP_REDIRECT", "TRUE"); // 设置缓存大小(按需调整) webapis.avplay.setProperty("HTTP_BUFFER_SIZE", "4096"); // 后续初始化代码保持不变
4. 检查服务器端访问限制
尽管已配置<access origin="*">,但AVPlay的网络请求不遵循Web端CORS规则,需确认服务器:
- 未设置User-Agent白名单限制,允许Tizen设备的请求。
- 未开启Referer校验,或允许空Referer/你的应用域名。
5. 修正AVPlay初始化顺序
调整方法调用顺序,确保监听器先于媒体资源打开设置:
// 先设置监听器 webapis.avplay.setListener(listener); // 再打开媒体资源 webapis.avplay.open("https://preskripsi.com/assets/net.mp4"); webapis.avplay.setDisplayRect(0, 0, 1920, 1080); webapis.avplay.setDisplayMethod("PLAYER_DISPLAY_MODE_AUTO_ASPECT_RATIO"); // 添加错误回调,获取详细错误信息 webapis.avplay.prepareAsync(function () { webapis.avplay.play(); }, function(error) { console.error("Prepare失败详情: ", error); });
6. 完善权限配置
确保config.xml中补充完整必要权限:
<tizen:privilege name="http://tizen.org/privilege/internet"/> <tizen:privilege name="http://tizen.org/privilege/tv.window"/> <tizen:privilege name="http://developer.samsung.com/privilege/avplay"/> <!-- 补充媒体播放相关权限 --> <tizen:privilege name="http://tizen.org/privilege/media.playback"/> <tizen:privilege name="http://tizen.org/privilege/mediacontroller.client"/>
内容的提问来源于stack exchange,提问作者FathonaAji
相关产品推荐
相关产品推荐

