【发布时间】:2019-08-07 19:05:19
【问题描述】:
我正在尝试按照以下示例修改带宽:https://webrtc.github.io/samples/src/content/peerconnection/bandwidth/
但是,我在 Chrome 上收到此错误。
errorInvalidModificationError: 在 setParameters() 中修改了只读字段
Firefox 成功更改带宽。几个月前,它也可以在 Chrome 上正常运行。突然收到这个错误,我搜索了一下,仍然没有找到任何解决方案,我可以知道如何解决这个错误吗?谢谢。
var bandwidth = 500;
// Loop through each track
var i;
for (i = 0; i < peers[peer_id].getSenders().length; i++) {
var sender = peers[peer_id].getSenders()[i];
if(sender.track.kind === "video"){
var parameters = sender.getParameters();
if (!parameters.encodings) {
parameters.encodings = [{}];
}
parameters.encodings = [{}];
parameters.encodings[0].maxBitrate = bandwidth * 1000;
sender.setParameters(parameters).then(success, error);
function success(){
console.log("bandwidth success adjust");
};
function error(err){
console.log("bandwidth error"+err);
};
};
}
【问题讨论】:
-
尝试删除第二个
parameters.encodings = [{}];。 -
它成功了,非常感谢@jib,你真的很棒。这是我的错误,我不熟悉这行“if (!parameters.encodings)”并且没有知道这是问题的主要原因。再次感谢。
标签: javascript google-chrome webrtc