目前的EPG分为两种:

1.在盒子原生环境,即浏览器

2.在android环境使用app承载能力,

        使用原生app实现

        使用webView为载体,加载网页

性能适配区别,对于相同配置盒子

性能效果android app原生>android app webView>=原生浏览器

适配兼容难度原生浏览器>android app webView>android app原生

适配节点

        原生浏览器:大环境使用es5及其之前的版本,较老的盒子存在个别方法存在,较新的盒子对于es5支持比较

        android app webView:盒子webView原生浏览器是谷歌内核的较早版本,但支持性较好,一般的新特性可以支持

        android app原生android系统版本大多停留在4.4版本,也有个别地区探索9.0版本,于一般的android开发区别不大

关键点:

功能 原生浏览器 android原生 android webView 备注
 launcher和EPG交互 地址栏中携带参数 intent中携带信息 通过原生的intent传递给webView 返回信息时必需的
盒子信息获取 根据EPG规范获取,由Authentication关键字获取 没有明确规范各地区自定义 依赖原生app        
播放器 根据EPG规范的MediaPlayer 自定义开发 依赖原生app,在层级在webView下 建议在webView模式时,对接h5的接口于EPG规范相同
跳转到外部地址 地址中携带信息 app之间的跳转 依赖原生app 包括订购;一般都有对应文档

播放器

根据EPG规范的MediaPlayer适配技巧

开始播放失败尝试执行playFromStartplayByTime方法二选一或在playFromStart之前先stop

断点播放失败:只执行playByTime或在playFromStart之后加200ms延迟再执行playByTime

无法触发开始播放启动一个setInterval,每秒获取当前进度,如果>0表示开始播放,和原生的开始回调共同使用

无法触发结束播放:启动一个setInterval,每秒获取当前进度,如果=总时长表示播放结束,和原生的结束回调共同使用

获取当前进度失败启动一个setInterval,在非暂停状态每秒+1,这里会有进度误差,但是可以忽略

这里推荐一下EPG前端框架:View-App

官方地址view-api

Demo地址view-app

原文地址:https://blog.csdn.net/zz609816880/article/details/125505952

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_13627.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注