DPlayer
DPlayer copied to clipboard
Quality switch does not work when play http-flv stream
After I switch the quality, the default stream will continue being requested, and the other stream will start being loaded. The left-bottom of player will show a label with text 'Fast forward xx seconds' . But DPlayer will stop playing. The pause button will became play button. Sometimes it will work, but most of the time it failed
我切换清晰度之后,默认播放的流依然在加载,切换的流也会被加载。播放器左下角会显示一个标签“快进xx秒”。DPlayer停止播放。左下角的暂停按钮显示为播放按钮。 有时可以成功切换(不过依然是同时加载两个流),大部分时候是失败的。
Code:
<script>
const dp = new DPlayer({
container: document.getElementById('dplayer'),
live: true,
autoplay: true,
video: {
quality: [
{
name: '高清',
url: 'http://192.168.199.201:6080/flv/flvtest_HD',
type: 'customFlv',
},
{
name: '标清',
url: 'http://192.168.199.201:6080/flv/flvtest',
type: 'customFlv',
},
],
defaultQuality:1,
customType: {
customFlv: function(video, player) {
const flvPlayer = flvjs.createPlayer({
type: 'flv',
url: video.src,
});
flvPlayer.attachMediaElement(video);
flvPlayer.load();
},
},
},
pluginOptions: {
flv: {
// enableStashBuffer: true,
// isLive: true,
// fixAudioTimestampGap: false,
},
},
});
document.getElementById("sourceUrl").innerText = dp.options.video.url;
</script>
我也遇到了同样的问题,请作者回复下吧。
切换 的flv 格式的直播流 也有问题 切换 不过去 直接报错
请问有解决办法了么
请问有解决办法了么
销毁原来的,然后reload新的
销毁原来的,然后reload新的
谢谢回答,但我还是不太明白销毁和reload的代码要写在哪里,怎么写。 下面是我的代码
var dp = new DPlayer({
container: document.getElementById('dplayer'),
autoplay: true,
live: true,
video: {
type: "customFlv",
quality: this.quality,
defaultQuality: this.quality.length-1,
customType: {
customFlv: function (video, player) {
const flvPlayer = flvjs.createPlayer({
type: 'flv',
url: video.src,
});
flvPlayer.attachMediaElement(video);
flvPlayer.load();
},
},
},
});
销毁原来的,然后reload新的
谢谢回答,但我还是不太明白销毁和reload的代码要写在哪里,怎么写。 下面是我的代码
var dp = new DPlayer({ container: document.getElementById('dplayer'), autoplay: true, live: true, video: { type: "customFlv", quality: this.quality, defaultQuality: this.quality.length-1, customType: { customFlv: function (video, player) { const flvPlayer = flvjs.createPlayer({ type: 'flv', url: video.src, }); flvPlayer.attachMediaElement(video); flvPlayer.load(); }, }, }, });
我也不太懂,我听前端开发人员说的