前提・実現したいこと
「PC内臓カメラやWEBカメラから取りんだ映像をブラウザに再生する」プログラムをprocessingで作りたい。
processing3.5.4では「実行」で動作確認ができたのですが、HTMLにprocessingコードを記載してブラウザで確認すると「エラーメッセージ」が発生しどうしても解決できません。
何か内容に不備があれば、追記または修正いたしますのでどうぞ宜しくお願い致します。
数日間、検索でいろいろと情報を探しても見つかりませんでした(調べた内容)
実際にブラウザ上にで「PC内臓カメラやWEBカメラから取りんだ映像をブラウザに再生」しているプログラムを見つけることができません。
FLASHでは「PC内臓カメラやWEBカメラから取りんだ映像をブラウザに再生する」ことができたのでが、最近はセキュリティが厳しくなったためブラウザで再生できなくなったのでしょうか?
もし、ご存知の方がいらっしゃれば情報をいただけないでしょうか。
どうぞ宜しくお願い致します。
発生している問題・エラーメッセージ
ブラウザで表示されるエラーメッセージです
Exception: ReferenceError: Capture is not defined
該当のソースコード
<!doctype html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <script type="text/javascript"> $(function () { sizing(); $(window).resize(function() { sizing(); }); }); function sizing(){ $("#main").attr({height:$("#wrapper").height()}); $("#main").attr({width:$("#wrapper").width()}); } </script> <script src="processing.js"></script> <script type="application/processing" data-processing-target="pjs" > import processing.video.*; Capture cam; void setup() { size(400, 300); try { String[] cameras = Capture.list(); if (cameras == null || cameras.length == 0) { // ここにnull check追加した。 println("no camera!"); exit(); } else { println("DEVICE resolution"); for (int i = 0; i < cameras.length; i++) { println("" + i + "," + cameras[i]); } cam = new Capture(this, cameras[0]); println("device start"); cam.start(); } } catch (Exception e) { // exception時にstacktraceをログ出力 e.printStackTrace(); } } void draw() { if (cam.available()) { cam.read(); } set(0, 0, cam); // this is faster than image(cam, 0, 0) // image(cam, 0, 0); } </script> </head> <body> <div id="wrapper"><canvas id="pjs"> </canvas></div> </body> </html>回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/02/04 05:53
2021/02/11 05:48
2021/02/11 07:41