ãã®ããŒã«ã®æ©èœ
ã«ã¡ã©ããŒã«ã¯ããã€ã¹ã®ã«ã¡ã©ã§åçãšé³å£°ä»ãåç»ãæ®åœ±ããŸããåçã¢ãŒãïŒéæ¢ç»ïŒãšåç»ã¢ãŒãïŒé³å£°ä»ãé²ç»ïŒãåãæ¿ããããŸãããã¹ãŠã®åŠçã¯ãã©ãŠã¶å ã§å®è¡âã¢ããããŒããªãããµãŒããŒäžèŠã§ãã
äœ¿ãæ¹
- ã¢ã¯ã»ã¹ãèš±å¯ â ãã¿ã³ãã¯ãªãã¯ããŠã«ã¡ã©ãæå¹ã«ããŸããåç»ã¢ãŒãã§ã¯ãã€ã¯ãžã®ã¢ã¯ã»ã¹ãèŠæ±ãããŸãã
- ã¢ãŒããéžæ â åçãšåç»ãåãæ¿ããŸããåç»ã¢ãŒãã§ã¯ã«ã¡ã©ãåèµ·åããã€ã¯ã远å ãããŸãã
- æ®åœ± â åçã¢ãŒãã§ã¯ãåçãæ®ãããã¯ãªãã¯ããŠã¹ãããã·ã§ãããåç»ã¢ãŒãã§ã¯ãé²ç»éå§ããã¯ãªãã¯ããçµäºãããã忢ããã¯ãªãã¯ã
- ããŠã³ããŒã â ã®ã£ã©ãªãŒã®æ®åœ±æžã¿ã¢ã€ãã ã«ãããŒããããŠã³ããŒãã¢ã€ã³ã³ãã¯ãªãã¯ããŠä¿åã
- åç â æ®åœ±ããåç»ã®åçã¢ã€ã³ã³ãã¯ãªãã¯ãããšã¡ã€ã³ãšãªã¢ã§åçã§ããŸãããã«ã¡ã©ã«æ»ããã§ã©ã€ãæ åã«æ»ããŸãã
- åé€ â ãããŒããŠåé€ïŒXïŒãã¿ã³ãã¯ãªãã¯ãããšãã£ããã£ãç Žæ£ãã¡ã¢ãªãè§£æŸããŸãã
åäœã®ä»çµã¿
ããŒã«ã¯ãã©ãŠã¶ã®MediaDevices APIïŒgetUserMediaïŒã§ã«ã¡ã©ãšãã€ã¯ã«ã¢ã¯ã»ã¹ããŸããåçã¯çŸåšã®ãããªãã¬ãŒã ãcanvasã«æç»ããŠJPEGã§ãšã¯ã¹ããŒãããããšã§ãã£ããã£ããŸããåç»ã¯MediaRecorder APIã§é²ç»ããWebMãã£ã³ã¯ãçæãããããåäžã®Blobã«çµåããŠããŠã³ããŒãå¯èœã«ããŸãããã¹ãŠã®ã¡ãã£ã¢ã¯åé€ãããããŒãžãé¢ãããŸã§blob URLãšããŠãã©ãŠã¶ã¡ã¢ãªã«ä¿æãããŸãã
HTTPSãå¿ é ãªçç±ã¯ãgetUserMediaãã»ãã¥ã¢ã³ã³ããã¹ãïŒHTTPSãŸãã¯localhostïŒã§ã®ã¿åäœããããã§ããã»ãã¥ã¢ã§ãªãããŒãžã§èª€ã£ãŠã«ã¡ã©ã¢ã¯ã»ã¹ãèš±å¯ããã®ãé²ããŸãã
䜿çšäŸãšãµã³ãã«
- æè»œãªèªæ®ã â å¥ã¢ããªãéããã«åçãæ®åœ±ã
- ç»é¢é²ç»ã®ä»£æ¿ â ã«ã¡ã©ãšãã€ã¯ã§çã解説ä»ãåç»ãé²ç»ã
- ããã¥ã¡ã³ãã¹ãã£ã³ â åŸã§äœ¿ãããã®æžé¡ãæ®åœ±ã
- åç»ã¡ãã»ãŒãž â é³å£°ä»ãã®çãã¡ãã»ãŒãžãé²ç»ã
å¶éãšæ¢ç¥ã®å¶çŽ
- HTTPSå¿ é â ãã¬ãŒã³HTTPã§ã¯åäœããŸããïŒlocalhosté€ãïŒã
- ãã©ãŠã¶å¯Ÿå¿ â getUserMediaãšMediaRecorderã¯ã¢ãã³ãã©ãŠã¶ã§ãµããŒããå€ããã©ãŠã¶ã§ã¯åäœããªãå ŽåããããŸãã
- WebMåœ¢åŒ â åç»ã¯WebMã§ä¿åãããŸããäžéšã®å€ããã¬ãŒã€ãŒã¯ãµããŒãããŠããªãå¯èœæ§ããããŸããå¿ èŠã«å¿ããŠå€æããŠãã ããã
- æš©é â ã«ã¡ã©ïŒåç»ã®å Žåã¯ãã€ã¯ãïŒã®ã¢ã¯ã»ã¹ãèš±å¯ããå¿ èŠããããŸããæåŠãããšããŒã«ã¯äœ¿ããŸããã