zoukankan      html  css  js  c++  java
  • 移动端视频播放自定义样式几种方案测试

    需求:
    h5自定义播放短视频的样式,视频上层需要自定义一些内容(类似微信视频语音界面效果 没有视频控件);主要浏览器微信,qq,UC(Android端)
    方案:
    1.只是使用原生video标签
    问题: 1.脱离文本播放 2.浏览器自带视频控件 3.各个浏览器样式并不统一 video 层级最高 自定义内容无法遮挡video
    处理: video 标签添加属性 webkit-playsinline playsinline 处理脱离文本播放 效果并不好
    x5-video-player-type="h5 微信浏览器 可以在video标签上自定义内容
    放大视频,然后视频容器overflow:hidden隐藏视频控件
    总的来说这种方案只能是将就

    2.视频转换 gif 
    问题:转换成gif文件过大 
            图像不清晰 
    暂时无法处理 放弃
    
    3.canvas 渲染 
    问题:没有声音,但是可以正常播放视频(思路就是 用canvas drawImage api 定时获取 video 然后渲染在canvas上) pc端可以播放 
            移动端 无法播放 没定位到问题  (应该是我把video标签隐藏了 canvas 无法获取到video的数据,但是奇怪的是video应该播放了,因为听到声音了)
            canvas层级无法覆盖video,标签只能是把video隐藏 
    放弃       
     
    4.jsmpeg 控件
    思路大体也是 使用canvas 播放视频,使用webauto 播放音频 
    只是支持ts文件,需要把mp4转成ts 使用ffmpeg 安装安装后按照教程 转换ts文件 
    在页面引用,
    出现了一些问题:
    1.视频比例 和 移动端设备 比例不同,需要额外处理裁剪 
    2.没有声音,pc端没有,ios 没有,Android有,pc端是chrome 定位到是浏览器不能自动播放声音的问题 参照github里的解决方案 处理可以 
    3.缺少一些回调监听,但是业务需求暂时没用上就没自己改了,只是自己添加了一个播放时间展示(有个currentTime 但是不好用)
    暂时是用的这个方案,还没发现问题,只是适合这种场景,视频固定且不大,需要自定义样式覆盖video标签
  • 相关阅读:
    团队选题报告
    第二次结对作业
    高级软件工程团队第一次作业
    第一次结队作业
    高级软件工程第二次作业
    高级软件工程第一次作业
    洛谷 题解 2165 [AHOI2009]飞行棋
    洛谷 题解 P1684 考验
    洛谷 题解 P4613 【[COCI2017-2018#5] Olivander】
    洛谷 题解 P5534 【【XR-3】等差数列】
  • 原文地址:https://www.cnblogs.com/aloneCode/p/10577065.html
Copyright © 2011-2022 走看看