gpt4 book ai didi

javascript - 初始化具有一定质量的 dash.js

转载 作者:行者123 更新时间:2023-11-30 20:14:43 24 4
gpt4 key购买 nike

问题如何在流初始化之前以正确的质量初始化 dash.js?

问题:使用 dash.js 设置质量时,播放开始时出现绿色伪影(见下图)。通过响应 STREAM_INITIALIZED 事件,在流初始化后设置质量。 Green artifacts

上下文:我正在尝试创建一个带有破折号的应用程序,用户应该能够在其中选择播放质量。此选择将通过使用像这样的 cookie 来设置:cookies.set('preferredQuality', quality.value);,其中值对应于 0、1、2 或 3(在破折号中设置) .js,setQualityForsetAutoSwitchQualityFor 设置为 false)。

然后在创建破折号实例的逻辑中,我监听 STREAM_INITIALIZED 事件并尝试在那里设置质量

this.dashJsInstance.on(dashjs.MediaPlayer.events.STREAM_INITIALIZED, this.onStreamInitialized, this);

onStreamInitialized: function() {
const quality = cookies.get('preferredQuality');
if (quality !== -1) {
this.dashJsInstance.setAutoSwitchQualityFor('video', false);
this.dashJsInstance.setQualityFor('video', quality);
}
},

这会导致图像中显示绿色伪影。

最佳答案

不确定这是否是正确答案,但通过监听 onFragmentLoaded 事件解决了这个问题。这绝不是最好的答案,但它确实有效。我们通过做这样的事情来实现它:

onFragmentLoaded: function(e) {
if (e.request && e.request.type === 'InitializationSegment') {
const preferredQuality = quality // Preferred quality;
const currentQuality = current // Current quality;

if (currentQuality !== preferredQuality) {
this.dashJsInstance.setQualityFor('video', preferredQuality);
this.dashJsInstance.setAutoSwitchQualityFor('video', false);
}
}
},

关于javascript - 初始化具有一定质量的 dash.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52035242/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com