plyr - Plyr.io 上未显示带有 HLS 视频音频的音频组切换器
问题描述
我正在使用最新版本的 Hls.js 和 plyr.io 。
HLS 有两种音频语言,但 plyr.io 播放器中未显示音频切换器。
大师.m3u8:
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio",LANGUAGE="es",NAME="lang Spanish",AUTOSELECT=YES, DEFAULT=YES,URI="a0_es/list.m3u8"
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio",LANGUAGE="en",NAME="lang English",AUTOSELECT=NO, DEFAULT=NO,URI="a0_en/list.m3u8"
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=10000,RESOLUTION=426x240,AUDIO="audio"
v0_240p/list.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=420000,RESOLUTION=640x360,AUDIO="audio"
v0_360p/list.m3u8
页面中的脚本:
document.addEventListener('DOMContentLoaded', () => {
const source = 'https://example.com/1500-x-xd12c26417dbf0a4523762ee558c221be/master.m3u8';
const video = document.querySelector('video');
// For more options see: https://github.com/sampotts/plyr/#options
// captions.update is required for captions to work with hls.js
const player = new Plyr(video, {captions: {active: true, update: true, language: 'en'}});
if (!Hls.isSupported()) {
video.src = source;
} else {
// For more Hls.js options, see https://github.com/dailymotion/hls.js
const hls = new Hls();
hls.loadSource(source);
hls.attachMedia(video);
window.hls = hls;
// Handle changing captions
player.on('languagechange', () => {
// Caption support is still flaky. See: https://github.com/sampotts/plyr/issues/994
setTimeout(() => hls.subtitleTrack = player.currentTrack, 50);
});
}
// Expose player so it can be used from the console
window.player = player;
});
JavaScript 库:
https://cdn.polyfill.io/v2/polyfill.min.js
dist/plyr.min.js
https://cdn.jsdelivr.net/npm/hls.js@latest
注意:音频组可以毫无问题地显示在 video.js 中。
解决方案
推荐阅读
- harmon.ie - 最近更新后,Outlook 中的 Harmon.Ie 侧边栏为空白
- node.js - Lodash - 深度类型验证
- php - 需要使 WordPress 表单提交触发在其他站点上注册新用户的过程
- python - 如何在 Linux 中从 C 语言执行 Python 程序
- perl - 循环文件时检查 EOF
- regex - 从文件名中提取域
- python - 如果没有 setup.py 文件,下载后如何安装 GitHub 包
- database - 具有非常自定义排序的 Spring 数据分页
- reactjs - 在视图中调整图像大小
- java - MigLayout:将两个 JLabel 放在由 JTextField 分隔的同一行上