我已经根据浏览器设置了带有破折号和hls的Plyr。对于所有其他浏览器,我手动设置源如下:
if (window.Hls && Hls.isSupported()) {
var hls = new Hls();
hls.loadSource(m3u8Url);
hls.attachMedia(video);
} else if (canMediaSource && window.dashjs) {
var dash = window.dashjs.MediaPlayer().create();
dash.initialize(video, dashMpdUrl, true);
} else {
player.source = {
type: 'video',
title: 'Video',
sources: [
{
src: url,
type: 'video/mp4',
size: 1080
},
{
src: url,
type: 'video/mp4',
size: 720
},
{
src: url,
type: 'video/mp4',
size: 360
},
{
src: url,
type: 'video/webm',
size: 720
},
{
src: url,
type: 'video/webm',
size: 360
}
]
};
}
我尝试使用type: application/dash+xml
将例如破折号添加为另一个来源,但那时它不会使用它。仅当我分别初始化破折号/ hls而不添加player.source
时。
不确定是否可以通过player.source
将破折号/ hls作为源添加?还是只是不需要而又没有道理的东西?我只是想让用户在例如定义所有源时可以强制使用特定的质量,并且如果dash / hls由于某种原因不起作用,那么它可能会回退到mp4或webm?