在 AR 模式下使用 getUserMedia 时,需要在代码中添加一些特定的设置才能避免浏览器的冻结。具体的解决方法如下:
const constraints = { audio: true, video: false };
navigator.mediaDevices.getUserMedia(constraints)
.then(function(stream) {
/* 使用音频流 */
})
.catch(function(error) {
console.error('getUserMedia error:', error);
});
const renderer = new THREE.WebGLRenderer({ antialias: false });
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);
通过上述设置,可以在 AR 模式下顺利使用 getUserMedia 方法,而不会导致浏览器冻结。