微信小程序播放视频为啥要用联合视频播放器

微信小程序播放视频为啥要用联合视频播放器,第1张

不需要添加服务类目。
微信小程序播放视频用联合视频播放器,是因为使用联合播放器进行播放的话,不需要添加文娱服务类目,就可以直接播放,使用起来非常方便,也不会出现无法播放或者是延迟的情况。
播放器是指能播放以数字信号形式存储的视频或音频文件的软件,也指具有播放视频或音频文件功能的电子器件产品。

会一直卡在那里,要么是黑屏但有声音,要么是黑屏也没有声音,总之不能正常播放

在播放过程中会卡顿,或者花屏

在video标签中加入         custom-cache="{{false}}"

反正加入就是了

1、电脑缓存太多,直接删除不用的文件,或者通过第三方软件进行内存清理。

2、浏览器缓存太多,可以尝试清理浏览器存储及浏览记录,再重新启动浏览器。

3、浏览器故障,可以尝试重新下载并安装浏览器。

4、Flash播放器故障,下载最新版本Flash播放器即可。

video标签。
如果小程序给的外部链接后缀是mp4格式的,用video标签可以直接播放,如果视频是直接传到搜狐或者腾讯,本意小程序也跳搜狐或者腾讯,但是小程序审核之后在手机上就会显示域名没有配置。

首先说一下我的应用场景, 在小程序中会有多个页面存在视频组件的情况, 为了防止视频播放时多个视频组件同时播放的情况,现记录一下方案:

一 可以在需要视频播放的地方弄一个视频播放的按钮, 当视频播放的时候再初始化视频组件, 保证整个应用内只有一个视频组件(视频组件的位置需要计算), 整个方法只是理论下的情况;

二 在appjs中 设置两个对象, currentVideoId(播放视频组件的id)和videoContext(当前播放视频的对象, 通过wxcreateVideoContext方法获得), 在页面的js中控制, 保证video组件绑定play方法:

 <video src="url" bindplay="play"></video>

在play方法中实现即可:

var id = ecurrentTargetid;

      if (id != null) {

        if (appcurrentVideoId != id) {

          if (appvideoContext != null) {

            appvideoContextstop();

            consolewarn("暂停");

          }

          appcurrentVideoId = id;

          appvideoContext = wxcreateVideoContext(id);

        }

      }
因为currentVideoId 和videoContext是唯一的对象, 方法中播放监听事件会暂停之前的播放, 然后再赋值, 等下次video播放监听进来的时候, 会进行判断

三 包含富文本组件的视频组件同时播放的情况

依据上面的例子, 当自定义富文本组件中包含多个video组件时也用上面的方法会产生错误, 虽然log会显示将执行视频暂停或者停止播放, 但是没有效果, 查看 视频api , 提示

根据api显示, id为video组件的id, 还有一个"Object this", 但是依据上面的api使用, 直接用id确实可以获取video对象, 但是api解释中提示, "在自定义组件下,当前组件实例的this,以 *** 作组件内 video组件", 在自定义组件中, 要加this, 所以总结: 在上面api使用中, 如果video在pages页面中, wxcreateVideoContext参数只写id没有问题, 但是当video在自定义组件中, 要必须加this, 才能正确返回VideoContext对象;


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13120717.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-06-04
下一篇 2023-06-04

发表评论

登录后才能评论

评论列表(0条)

保存