B2C 标准版 (PHP) 演示 标准版 (PHP)
S2B2C 会员电商系统演示 Pro会员电商系统
S2B2C/O2O 多门店系统演示 多门店系统
B2B2C/O2O 多商户系统 (PHP) 演示 多商户系统 (PHP)
B2B2C/O2O 多商户系统 (Java) 演示 多商户系统 (Java)
B2C 标准版 (Java) 演示 标准版 (Java)
B2B2C 多商户外贸版演示 多商户外贸版
B2C 知识付费系统演示 知识付费系统
陀螺匠
产品 演示网址 账号 密码

CRMEB客服

CRMEB咨询热线 咨询热线

400-8888-794

CRMEB微信扫码咨询

微信扫码咨询

微信扫码咨询

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

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公众号二维码

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