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

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

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

WebRTC(Web Real-Time Communication)とは、プラグイン無しでウェブブラウザ間の音声通話・ビデオチャットなどリアルタイムコミュニケーションができるオープンフレームワークです。W3CがAPIレベルで、IETFがプロトコルレベルでそれぞれ標準化が進められています。

Q&A

解決済

1回答

762閲覧

getUserMediaがわからない

sakas1231

総合スコア42

WebRTC

WebRTC(Web Real-Time Communication)とは、プラグイン無しでウェブブラウザ間の音声通話・ビデオチャットなどリアルタイムコミュニケーションができるオープンフレームワークです。W3CがAPIレベルで、IETFがプロトコルレベルでそれぞれ標準化が進められています。

0グッド

0クリップ

投稿2018/10/18 08:31

getUserMediaの挙動について疑問が拭えないのでどなたか教えていただけないでしょうか。

javascript

1navigator.mediaDevices.getUserMedia({ audio: true, video: true }), 2stream => { 3 video.srcObject = stream; 4 video.play(); 5}, 6err => { 7 throw err; 8}; 9

とまあこのような感じでgetUserMediaを使えばaudioとvideoの許可をしたらstreamが受け取れてvideoタグ内に埋め込んで再生してくれるというコードかと思います。

ここで疑問なのは、受け取ったstreamを元に音声と映像を再生させる関数がなぜ、成功時(アクセス許可時)に一度だけハンドリングされる関数の中に書くのか、ということです。
これでは、アクセスを許可したタイミングで取得したvideoとaudioのstreamしか再生されないのではないでしょうか。

自分のイメージとしては、一定時間ごとにstreamを取得して、そのstreamを都度strObjectとして再生させるのが正しいのではないかと思っていて、このコードでなぜ永遠にvideoとaudioを再生できるのかの仕組みがわかりません。

拙い文ですが、回答よろしくお願いします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

streamを直訳すると小川ですよね。
動画や音声は時間軸を持っていて、時間の経過でデータが流れていきます。川のようなの流れです。
ここで大事なのはstreamは川全体の流れを表しているのである特定の時間の水(静止画)を表しているわけではありません。
質問者様は 静止画を受け取ってアニメーションのように静止画を更新することを想像しているのだと思いますが、
そういう意味ではないです。

videoタグのsrcに動画のURLを指定すると自動的に動画をダウンロードしつつ再生してくれます。
play()をすれば動画が流れますし
pause()をすれば動画を止めます

該当のソースはデバイスのカメラが撮影しているリアルタイムの動画の流れを指定しています。

投稿2018/10/18 09:28

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問