CRMEB标准版社交电商演示 CRMEB 标准版
CRMEB Pro高性能私域管理电商系统演示 CRMEB Pro版
CRMEB多店连锁加盟电商管理系统 CRMEB 多店版
多商户 PHP版
多商户 Java版
CRMEB Java开源商城系统 CRMEB Java版
CRMEB 开源外贸版电商系统 CRMEB 外贸版
CRMEB知识付费系统 知识付费
陀螺匠
产品 演示网址 账号 密码

CRMEB客服

CRMEB咨询热线 咨询热线

400-8888-794

CRMEB微信扫码咨询

微信扫码咨询

微信扫码咨询

应用市场 应用市场 CRMEB开源商城下载 源码下载 CRMEB帮助文档 帮助文档
返回顶部 返回顶部
CRMEB客服
CRMEB论坛
CRMEB知识付费系统小课堂——如何支持M3U8格式播放的方法
技术分享
知识付费
2022-09-28
16892

CRMEB知识付费系统是一款方便二开的内容付费+微商城系统;支持讲师入驻,通过直播、视频、音频、图文、题库等多种内容形式,快速实现内容变现。

对于很多开发者在了解我们知识付费系统的时候,对知识付费如何支持M3U8格式播放的方法想进行了解下面就跟小编一起看下如何支持M3U8格式播放

当前知识付费使用阿里云web播放器作为视频播放器。阿里云web播放器本身支持MP4和M3U8格式播放,由于知识付费底层引入RequireJS,导致阿里云web播放器Hls扩展插件变成AMD模块,从而将Hls未被全局暴露,进而导致知识付费目前只支持MP4格式播放。

让知识付费支持M3U8格式,就需要将Hls全局暴露。目前有两种方法,一种是在引入RequireJS之前使用script标签引入hls.js文件,这样就可以避免在引入hls.js文件之前全局环境已经存在define.amd,从而暴露Hls全局变量。另一种是使用RequireJS的require()引入hls.js,然后将Hls挂载到全局对象。1. script标签引入

如上图所示,必须写在block name=”head_top”模块中,否则无效。因为这个block在requirejs所在block之前。这里的block属于thinkphp内容。

如上图所示,这是aliplayer.js中对于Hls的使用,故而Hls必须挂载到全局对象,否则不能获取到Hls对象。

2. require()引入

如上图,在require.configpaths中配置好aliplayer、aliplayer-hls和aliplayer-plugin。其中aliplayer-plugin是作为中间模块使用。

如上图所示,这是aliplayer-plugin模块,在这个模块中将Hls挂载到全局对象。这样整个流程就可以正常运行。

其实两种方法的最终目的都是将Hls暴露出来,这样后续功能才可以正常运行,不管哪一种方法,主要看整个项目规范和功能实现的难易程度。具体运行中会怎么样,还需要不断地测试和读懂aliplayer在一些关键点的处理方式。

您如果还想了解更多知识付费的功能技术规则等问题,可以关注CRMEB官网-行业新闻。有更多实用的技术知识为您分享!

微信登录/注册

切换手机号登录

{{ bind_phone ? '绑定手机' : '手机登录'}}

{{codeText}}
切换微信登录/注册
暂不绑定
添加官方客服微信
CRMEB公众号二维码

联系客服 领取源码+接口文档🎁