とても新しいものを遊んでいる
ここ数日、navigator.mediaDevices.getDisplayMedia() と jsQR.js を使って QR コードを認識する小さなツールを作った。具体的なアイデアは、navigator.mediaDevices.getDisplayMedia() というメソッドを使ってブラウザの画面共有機能を呼び出し、ある Web ページやソフトウェアの画面をキャプチャして canvas に描画し、そして jsQR.js を呼び出して
ページ内の QR コードを解析するというものだ。画面共有機能には「画面全体をキャプチャ」というオプションがあるため、理論上はどこにあっても QR コードを認識できるが、解像度の制約により、小さめの QR コードは検出できないこともある。
IE ブラウザーを除けば、すべてのデスクトップ向けモダンブラウザーが navigator.mediaDevices.getDisplayMedia() をサポートしている。モバイルでは現時点でこのメソッドをサポートしているブラウザーは存在しない。