You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

媒体设备设置colorTemperature后如何重置whiteBalanceMode为continuous

问题根因

你手动设置colorTemperature后,该手动约束会被持续保留,而continuous白平衡模式的运行逻辑是系统自动调节色温,不允许存在手动指定的色温值,两个约束存在冲突,因此你单独设置whiteBalanceMode的操作无法生效。

解决方案

切换回连续白平衡模式时,需要同时将之前设置的colorTemperature约束清除(设为null即可),调整后的代码如下:

async function changeEnv(tracks,compen) {
  console.log(tracks,performance.now());
  for (const track of tracks) {
    console.log('curr',track.getSettings());
    console.log('capab',track.getCapabilities());
    if (compen === 3600) {
      await track.applyConstraints({advanced:[{colorTemperature: compen}]});
    } else {
      // 先清除手动色温约束,再切换白平衡模式,避免冲突
      await track.applyConstraints({
        advanced: [
          {colorTemperature: null},
          {whiteBalanceMode: 'continuous'}
        ]
      });
    }
    console.log('curr',track.getSettings());
  } 
}

如果上述写法仍不生效,可以尝试将约束放在顶层而非advanced数组中,部分浏览器对顶层约束的优先级处理更符合预期:

await track.applyConstraints({
  colorTemperature: null,
  whiteBalanceMode: 'continuous'
});

修改后调用track.getSettings()可以看到colorTemperature会回到初始值0,whiteBalanceMode成功切换为continuous。

内容的提问来源于stack exchange,提问作者Marcus.Aurelianus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 02:12:01