m3u8不支持主m3u8多子m3u8分辨率显示不同分辨率显示手动与自动切换不?
您使用的西瓜播放器版本是多少? What version of xgplayer are you using? 最新版本
您使用的操作系统和浏览器分别是? What OS and browser are you using? 最新google浏览器
问题 如题目所问,能不能在 let player = new Player({ id: 'mse', url: 'abc.m3u8', plugins: [window.HlsPlayer] }); 配置一个主m3u8文件就行 (这个abc.m3u8里面有三个格式的m3u8文件 分别为 1080 720 480),这样能正常播放第一个1080的 但页面上没有切换分辨率的选项,能否实现自动显示分辨率切换选项,不需要显式配置切换选项 definition: { index: 1, defaultDefinition: '高清', list: [ { name: '高清', url: '1080.m3u8', definition: '高清', }, { name: '标清', url: '720.m3u8', definition: '标清', }, { name: '480P', url: '480.m3u8', definition: '480P', }] },
同求此功能
@dzz2013 @gcodeer 目前认为master m3u8 就是一个单独的档位,要映射到其他档位暂时还不支持。预计Q2内可能支持这个feature
@dzz2013 @gcodeer 目前认为master m3u8 就是一个单独的档位,要映射到其他档位暂时还不支持。预计Q2内可能支持这个feature
并建议支持动态自动切换,比如用户从强网络进入到弱网络时,自动切换到低分辨率,反之也可自动切换到高分辨率。
可以参考hls.js实现的该功能
之前的 v2 版本中,根据带宽质量在多个码率之间自动切换一直正常工作,v3 版本貌似这个特性丢失了。需要用该特性可以考虑切回 V2。
阿里播放器默认是实现该功能的,不需要传多个m3u8的地址的,
本播放我使用了下面代码实现
player.on('core_event', ({ eventName, ...rest }) => { if (eventName === 'core.hlsmanifestloaded') { const resolutionList = []; rest.playlist.streams.forEach((item) => { resolutionList.push({ name:${item.height}, url: item.url, definition: ${item.id}}); }); player.emit('resourceReady', resolutionList); } });
This issue is stale because it has been open 90 days with no activity. Remove stale label or comment or this will be closed in 30 days.
This issue has been automatically closed after a period of inactivity. If it is still present in the latest release, please create a new issue with up-to-date information. Thank you!