問題タブ [getusermedia]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1796 参照

javascript - Google Chrome の webkitGetUserMedia - ユーザーがダイアログを無視するとどうなりますか?

したがって、navigator.webkitGetUserMedia を使用する標準的な方法は次のようになります。

私が開発しているサイトでは、ユーザーのウェブカメラとマイクを絶対に使用する必要があります (実際には Flash を使用していますが、現在はこの API を使用しているようです)。そのため、ユーザーが必要なものを常に認識できるようにあらゆることを行っています。サイトが機能するためにクリックします。

  • どちらの関数も呼び出されない場合は、ダイアログが表示されていると想定し、ユーザーに指示を表示します。
  • 拒否が呼び出された場合は、ウェブカメラへのアクセスが必要であることを説明し、Chrome の URL バーにあるカメラ アイコンをクリックして決定を変更できることを示します。
  • もちろん、success が呼び出された場合、ユーザーは受け入れており、通常どおり続行します。

これがキッカーです。上記の Javascript を (Chrome で) 任意のサイトに貼り付けることで、従うことができます。ユーザーが新しい Web ページに移動するか、ドロップダウンを承認、拒否、または却下せずに現在のページを更新した場合、ブラウザー セッションの現在のドメインに対するアクセス許可ダイアログは再度表示されません

navigator.webkitGetUserMedia(...)再度呼び出しても権限ダイアログは表示され、カメラ アイコンも URL バーに表示されません。コンソールは「ユーザーが拒否されました」とさえ記録しません。さらに、多くのユーザーにとって、このドロップダウンは非常に簡単に無視されてしまいます。利用可能な唯一の修正方法は、ブラウザーを完全に閉じてから再度開くことです (または、ユーザーに強制したくない複雑な設定メニューを手動でナビゲートすることです)。

これが「どういうわけか」意図されたものなのか、それとも何か足りないものがあるのか​​、ここで誰かに確認できますか?

0 投票する
3 に答える
1254 参照

javascript - HTML5 オーディオ録音が機能しない 外部マイク

Chrome(バージョン28.0.1500.72 m)でユーザーのマイクにアクセスするためにgetUserMediaをいじっています。内部スピーカー付きの内部マイクを使用すると、ユーザー入力を記録および再生できます。

USB マイク ヘッドセットを接続するとすぐに、ユーザーの入力を記録できなくなります。プライバシーとコンテンツの設定の Chrome 設定でデバイスを切り替えました。そのため、クロムは新しく接続されたマイクを認識します。クロムを再起動し、マイクも接続した後、もう一度試しました。まだユーザー入力はありません。

前もって感謝します。

以下は、私が使用している現在のコードです。

0 投票する
1 に答える
2465 参照

javascript - 記録後に getUserMedia インジケータをキャンセルする方法

私はrecorder.jsを使用しgetUserMediaており、ブラウザでオーディオ録音を行っています。録音を開始すると、「このサイトにマイクの使用を許可する」プロンプトが表示され、[許可] をクリックすると、Chrome はタブのファビコンにインジケーターを追加して、録音中であることを示します。

録音インジケーター
(ソース: ubuntuone.com )

私の問題は、アプリケーションが記録を停止した後でも、インジケーターが消えないことです。基本的には、自分の録音権限を取り消したいと思っています。これは可能ですか?

0 投票する
0 に答える
1835 参照

xmlhttprequest - XHR blob サイズの制限

xhr.send(Blob) を介した BLOB のアップロードに関して少し問題があります。私は、ユーザーが getUserMedia() を介してビデオを作成する Web サイトを持っています。これは、ブロブを通じて Web サイト内に配置され、ビデオの結果に満足するまで何度も記録できます。ファイルをダウンロードせずに、フォームを使用してビデオをアップロードすることなく、ビデオをサーバーにアップロードできるようにしてほしい。だから私は xhr.send を通してこれを作ることができました

問題は、ブロブのサイズが約 1.8 MB を超える場合、送信されるデータが 0 になることです。したがって、基本的に私の質問は、ブロブのサイズに制限はありますか、それともブロブをチャンクでサーバーに送信する必要がありますか? 問題の例は次のとおりです。


コンソール ログ

最初のビデオは正しくアップロードされますが、次のビデオは 0 バイトの情報でアップロードされます。ご協力いただきありがとうございます。

0 投票する
2 に答える
4240 参照

html - HTML5 getUserMedia() メディア ソース

html5 でストリーミング ウェブカメラを作成しました。現時点では、Web カメラで写真を撮ることができますが、リストからメディア ストリーム デバイスを選択できるかどうかを知りたいです。html5 getUserMedia() 呼び出しでそれを行うにはどうすればよいですか? ありがとう!

0 投票する
1 に答える
2596 参照

webrtc - WebRTC - ピア接続の制約

WebRTCの現在の状態を考慮して、うまく機能しているWebRTCビデオ会議アプリに取り組んできました。

ただし、PeerConnection によって送信されるビデオおよびオーディオ ストリームに制約を追加する可能性を探っています。ビデオのパフォーマンスを改善するためのより具体的な。古い (遅い) ラップトップでビデオ会議を行っているとき、画像の品質は非常に高いものの、1 秒あたりのフレーム数が低いことに気付きました。ストリームはハッキーです。音質については、Chrome では 8.5 ですが、Firefox では 5.5 から 6 しかありません。

このストリームはユーザーにも表示されているため、getUserMedia に制約を適用することにあまり関心がなく、このローカル出力については何も変更したくありません。(他に方法がない限り)

MediaStreams と WebRTC 自体に関する W3G のドラフトに関する多くの情報を見つけました。これらは、画像のデフォルト fps、minfps、最小幅、最小高さなどの特定の制約を定義します。webrtc.org では、コーデックの選択など、多くの情報を入手できます。ただし、これらの設定は「内部」でのみ行うことができます。これらの設定は RTCPeerConnection API レベルから対処できないようですか?

ネット上の特定の例では、WebRTC ハンドシェイクのオファー/アンサー部分で SDP 文字列を操作していますが、これでよいでしょうか?

TL;DR : 適用する方法 - および適用する最良の方法は何ですか - minfps、maxfps、デフォルト fps、最小幅、最大幅、画像の dpi、ビデオとオーディオの帯域幅、オーディオ KHz、その他の改善方法などの WebRTC の制約ストリームのパフォーマンスまたは品質。

よろしくお願いします!

0 投票する
4 に答える
17917 参照

javascript - MediaStream からトラックを削除し、ウェブカメラを「停止」する方法は?

MediaStream からトラックを削除しようとしています。MediaStream.removeTrack()ストリームからトラックを削除しますが、カメラ ライトはオンのままで、カメラがまだアクティブであることを示します。

https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamTrack?redirectlocale=en-US&redirectslug=DOM%2FMediaStreamTrack

stop()これは、カメラを完全に停止すると思われるメソッドを参照していますが、クロムでは取得します"Object MediaStreamTrack has no method 'stop'"

これを回避する方法はありますか、それともストリーム全体を停止してから、削除したくないトラックで再作成する必要がありますか? 例として、オーディオ トラックがまだそこにある間にビデオ トラックを削除したいとします。

0 投票する
2 に答える
2296 参照

javascript - Android ブラウザーでの getUserMedia のサポートの検出に失敗する

getUserMedia のサポートを検出するときに問題があります。Android 4.2.2 を使用しています。

問題は、Android ブラウザが getUserMedia をサポートしているかのように動作することですが、それを使用すると、成功関数も失敗関数も呼び出されません。以下のコード:

Android ブラウザーでは、このコードは「getUserMedia supported」というポップアップを表示しますが、「メディアを取得しました」または「メディアの取得に失敗しました」というポップアップは表示されません。Android の Chrome で同じコードを実行すると、「getUserMedia はサポートされていません」と表示されます。

なぜこの動作ですか?これが機能のサポートを確認する一般的な方法だと思いました。

0 投票する
2 に答える
5299 参照

webrtc - WebRTC MediaStream が機能しているかどうかを (自動的に) テストする方法は?

バックグラウンド:

私はシステムを開発していますが、その一部は WebRTC ビデオ (またはオーディオ) 呼び出しです。このソリューションには、 getUserMediaおよびRTCPeerConnection API がサポートするものの上に構築されたかなりの数のビジネス ロジックが含まれています。特に、Firefox と Chrome では一部の API が異なる方法で実装されているためです (たとえばMediaStream#getAudioTracks、Firefox では常に [] が返されます)。

テストする要件の例:

2 者間でオーディオ オーディオ コールが実行されています (両方が要求され、オーディオ ストリーム (マイクへのアクセス) が許可されています)。一方の側は、コールをビデオ ビデオにアップグレードしたいと考えています。特定の UI インタラクションが発生します - アップグレードの開始者へのアクションを確認するためのダイアログと、受信者へのアップグレードの提案で、両側でカメラへのアクセスが許可されます。最終的に、ビデオ間通話が確立されるはずです。

質問:

<video>MediaStream インスタンスがelementsrcにアタッチされている場合に適切な信号 (ビデオ、オーディオ) が再生されるような状態にあるかどうかを確認する方法は?

これまでのアイデア

最も基本的なテストは、RTCPeerConnection#onstreamaddedが呼び出されるかどうかを確認することです。問題は、コールバックがインスタンスで呼び出されることがありますが、それを要素MediaStreamにアタッチすると何も表示されないことです。<video>それは私の側の間違いである可能性が非常に高く、それがテストが教えてくれるはずです.

通信が正しく設定され、データがストリームを介して送信されていることを教えてくれる、適切なプロパティやコールバック、RTCPeerConnectionまたはオブジェクトはありますか?MediaStream