質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

0回答

614閲覧

webアプリで起動したスマホカメラでストロボ効果を実現したい

m-mega

総合スコア56

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2021/06/06 08:18

スマホのカメラをブラウザ上で起動し、画面のフレームレート(fps)を変更することでストロボライトのようなアプリを作成できないか検討しています。

理想とするアプリは、ネイティブアプリですが、以下のものです。
https://apps.apple.com/jp/app/video-tachometer/id1492583587

現在、カメラ映像のフレームレートを変更しているのですが、作成したアプリでカメラ越しに回転体(模様が描かれたコマなど)を見てみても、描かれた模様が止まって見えるような理想とする動きになりません。
https://www.nissin-ele.co.jp/zoetrope/index.php
上記の例では、フラッシュライトの間隔により実際に目で見た時にストロボ効果を得られるようになっていますが、webアプリとして実装したいのと、iOSのLED制御はブラウザ上ではできないので、フレームレートでなんとかできないか検討しています。

そもそもフレームレートを変更するだけでは、理想とするストロボ効果は得られないのでしょうか。
理想のアプリとの違いが何かわからず、こちらに質問させていただきました。

また、現在のコードは以下のようになっています。

javascript

1const medias = {audio : false, 2 video : true 3 // video : { 4 // facingMode : { 5 // exact : "environment" 6 // } 7 // } 8}; 9 10const video = document.getElementById("video"); 11const canvas = document.getElementById("canvas"); 12const ctx = canvas.getContext("2d"); 13const promise = navigator.mediaDevices.getUserMedia(medias); 14 15promise.then(successCallback) 16 .catch(errorCallback); 17 18function successCallback(stream) { 19 video.srcObject = stream; 20 requestAnimationFrame(draw); 21} 22 23function errorCallback(err) { 24 console.log(err); 25 alert(err); 26} 27 28var fps = 10; 29 30function draw() { 31 setTimeout(function() { 32 requestAnimationFrame(draw); 33 canvas.width = window.innerWidth; 34 canvas.height = window.innerHeight; 35 ctx.drawImage(video, 0, 0); 36 }, 1000/fps); 37}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問