2017-02-18 5 views
0

ウェブカメラにアクセスするためのコードがオンラインで見つかりました。それはウェブカメラにアクセスしますが、見るものを表示しません。私はドキュメントにHTMLがないのでこれが正常だと知っていますが、私はどのように結果を表示できるのだろうかと思っていました。私が見つけたコードは:getUserMedia()を表示するには

var constraints = { audio: true, video: { width: 1280, height: 720 } }; 

navigator.mediaDevices.getUserMedia(constraints) 
.then(function(mediaStream) { 
    var video = document.querySelector('video'); 
    video.srcObject = mediaStream; 
    video.onloadedmetadata = function(e) { 
    video.play(); 
    }; 
}) 
.catch(function(err) { console.log(err.name + ": " + err.message); }); 

あなたの助けに感謝します。

答えて

1

あなたのHTMLにvideoタグがありません。ウェブカメラのストリームを「ダンプ」するのに使用されています。タグ名(video)でタグを参照することはお勧めできませんので、代わりにIDを使用する必要があります(たとえば、#webcam)。ただ、そのIDでvideoタグを作成します。

<video id="webcam"></video> 

はあなたの新しいタグを参照するために、document.querySelector以内に、あなたのコードを更新します。

var constraints = { audio: true, video: { width: 1280, height: 720 } }; 

navigator.mediaDevices.getUserMedia(constraints) 
.then(function(mediaStream) { 
    var video = document.querySelector('#webcam'); // <- Here 
    video.srcObject = mediaStream; 
    video.onloadedmetadata = function(e) { 
    video.play(); 
    }; 
}) 
.catch(function(err) { console.log(err.name + ": " + err.message); }); 

ここJSFiddle上の作業例です。

また、ウェブブラウザでウェブカメラとマイクを使用できるようにしてください。

+0

ありがとうございます。私はそれをテストし、それは動作します。私はモバイルデバイス用のコードを使用します(アンドロイドとアイオス)。それが何か変わるかどうかはわかりません。とにかく、それはjsFiddleで働いていました。再度、感謝します!ああ、私はほとんど忘れてしまった。私のアプリでは、ビデオと写真をキャプチャする必要があります。写真やビデオをキャプチャしてファイルに保存する方法を教えてもらえれば素晴らしいと思います。 –

+0

アンドロイドデバイスで試したところ、許可を求めることはありません。したがって、それは動作しません(私はちょうど、それは動作しませんが、私は確かにわからないの許可を求めることはないと仮定している)。 –

+0

@TheodoreTremblotあなたの最初のコメントは、別の質問ですから、おそらくインターネット上の情報を検索する必要があります。あなたが何かに悩まされている場合、別のStackOverflow質問を作成してください。なぜなら、この質問に直接関係していないからです。あなたの2番目のコメントに応えて、ChromeとFirefoxでAndroidデバイス(4.4.4)でJSFiddleを試しました。もっと情報を提供してください。互換性の詳細については、[このページ](http://caniuse.com/#feat=stream)をチェックしてください。 – Wikiti

関連する問題