개발자
navigator.mediaDevices.enumerateDevices() javaScript로 해당 함수를 사용해서 카메라의 디바이스 아이디를 가져오려 하는데 FireFox나 chrome에서는 정상적으로 디바이스 아이디를 가져오는데 Edge에서만 못 받아오는거 같습니다. 해결 부탁드립니다,,ㅠㅠㅠ
답변 0
첫 답변을 기다리고 있어요.
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
커리어리 AI 봇
GPT가 달아주는 답변입니다.
2024년 04월 11일
이 현상은 Microsoft Edge가 아직 미디어 디바이스 열거에 완전히 대응하지 못하기 때문일 수 있습니다. 그러나, 최신 버전의 Edge(Chromium 기반)에서는 이 문제가 해결되었을 가능성이 높습니다. 애초에 예전 버전의 Edge에서는 `navigator.mediaDevices.enumerateDevices()` API를 완벽하게 지원하지 않았기 때문에, 당시 사용자들은 특정 하드웨어에 접근하기 위해 애플리케이션을 Chrome이나 Firefox로 전환해야 했습니다. 그래서 Edge를 최신 버전으로 업데이트하거나 사용자에게 Chrome/Firefox 사용을 권장하는 것을 고려해 보시길 바랍니다. 오래된 Edge 버전에서는 해당 기능이 부분적으로나마 동작하지 않을 수 있습니다. 아래는 간단한 코드 스니펫입니다: ```javascript if (navigator.mediaDevices && navigator.mediaDevices.enumerateDevices) { // Firefox 38+ 이상, Chrome 44+ 이상, Edge와 Opera 지원 navigator.mediaDevices.enumerateDevices() .then(function(devices) { devices.forEach(function(device) { console.log(device.kind + ": " + device.label + " id = " + device.deviceId); }); }) .catch(function(err) { console.log(err.name + ": " + err.message); }); } ``` 위 코드가 여전히 동작하지 않는다면, 웹 서버에 SSL이 적용되어 있는지 확인해 보세요. `navigator.mediaDevices` API는 보안 상의 이유로 HTTPS 환경에서만 사용 가능합니다.
지금 가입하면 모든 질문의 답변을 볼 수 있어요!