ð¡OverconstrainedErrorãšããã®ãåºãŸããããããŠãããã€ã¹IDãééã£ãŠããããã
OverconstrainedError ã¯ãã¡ãã£ã¢ããã€ã¹ïŒãã®å Žåã¯ã«ã¡ã©ïŒã«ã¢ã¯ã»ã¹ããéã«æå®ããå¶çŽãæºããããªãå Žåã«çºçãããšã©ãŒã§ãããã®ãšã©ãŒãçºçãããšããããšã¯ãæå®ãã deviceId ãååšããªããããã®ããã€ã¹ãçŸåšå©çšäžå¯èœã§ããããããã¯æå®ãããã®ä»ã®å¶çŽïŒè§£å床ãªã©ïŒããã®ããã€ã¹ã«é©çšã§ããªãå ŽåãèããããŸãã
ãšã©ãŒå¯ŸåŠã®ã¹ããã
ããã€ã¹IDã®ç¢ºèª
æå®ãã deviceId ãæ£ããããå確èªããŠãã ãããããã€ã¹IDãæ£ç¢ºã§ãããã©ããããŸãããã®ããã€ã¹ãæ¥ç¶ãããŠäœ¿çšå¯èœã§ãããã確èªããããã«ãnavigator.mediaDevices.enumerateDevices() ãå床å®è¡ããŠãå©çšå¯èœãªããã€ã¹ã®ãªã¹ãã確èªããŠãã ãããå¶çŽã®èŠçŽã
deviceId 以å€ã®å¶çŽïŒäŸãã°è§£å床ãªã©ïŒãèšå®ããŠããå Žåããããã®å¶çŽãäžåºŠåãé€ããŠã¿ãŠãããã€ã¹ãæ£åžžã«èµ·åãããè©ŠããŠã¿ãŠãã ãããå¶çŽãå°ãªãã»ã©ãããã€ã¹ã®äºææ§ãé«ãŸããŸãããšã©ãŒãã³ããªã³ã°ã®å®è£
createCapture() é¢æ°ãåŒã³åºãéã«ãšã©ãŒãã³ããªã³ã°ãå®è£ ãããšã©ãŒãçºçããå Žåã«ãŠãŒã¶ãŒã«é©åãªãã£ãŒãããã¯ãæäŸããããã«ããŠãã ãããäŸãã°ïŒ
video = createCapture(constraints, function(stream) {
console.log('ã«ã¡ã©ãèµ·åããŸããã');
}).on('error', function(err) {
console.error('ã«ã¡ã©ã®èµ·åã«å€±æããŸãã: ', err);
alert('ã«ã¡ã©ã®èµ·åã«å€±æããŸãããå¶çŽã確èªããŠãã ããã');
});
ãã©ãŠã¶ã®äºææ§ã®ç¢ºèª
䜿çšããŠãããã©ãŠã¶ããã¹ãŠã®å¶çŽã«å¯Ÿå¿ããŠããã確èªããŠãã ãããç¹ã«ãéåžžã«ç¹æ®ãªå¶çŽãæ°ããAPIã®æ©èœã䜿çšããŠããå Žåããã¹ãŠã®ãã©ãŠã¶ã§ãµããŒããããŠãããšã¯éããŸãããHTTPSæ¥ç¶ã®äœ¿çš
ã¡ãã£ã¢ããã€ã¹ãžã®ã¢ã¯ã»ã¹ã¯ãç¹ã«ãã©ã€ãã·ãŒãä¿è·ããããã«HTTPSæ¥ç¶ãéããŠè¡ãããããšãæšå¥šãããŸããéçºäžã¯localhostã䜿çšããŠããå Žåãããããããã®åé¡ã¯çºçããŸããããå®éã®éçšç°å¢ã§ã¯HTTPSã確ä¿ããããšãéèŠã§ãã
ãããã®ã¹ããããéããŠãOverconstrainedError ã®åé¡ã®åå ãç¹å®ãã解決ããããšãã§ããã¯ãã§ãã
ãé¡ãèŽããŸã