webkitGetUserMediaを使用して正常なウェブページ上のウェブカメラからビデオをキャプチャできましたが、私のChrome拡張機能のpopup.htmlでこれを実行しようとすると何も起こりません。私は許可エラーを得ていない、それはちょうど質問するようなことではない(情報はポップアップウィンドウで決して滑り落ちることはない)。これを回避する方法はありますか?マニフェストjsonでパーミッションを与えることはできません。Chrome拡張機能のポップアップウィンドウでwebkitGetUserMedia権限を与えるにはどうすればよいですか?
答えて
Chrome拡張機能とのWebRTC:
Chrome Extensions Manifest Permissions Documentationマニフェスト、「videoCapture」と「audioCapture」に必要な2つの権限を言及していないので、その機能がChromeに利用可能な場合、私はわからないんだけど拡張機能の有無にかかわらず、それ以上続ける前に何が起こるか試してみるべきです! ;)
クロームパッケージ化されたアプリとのWebRTC:
しかし、クロームパッケージ化アプリケーションでは、それは両方のサンドボックスと非サンドボックスページでは、可能です! Chromeパッケージアプリケーションは拡張機能と非常によく似ていますので、何をしているかによってアプリを構築することができます。
Packaged Apps Manifest Permissions Documentationでは、「videoCapture」および「audioCapture」のアクセス許可は明示的にリストされていませんが、例ではその例を示しています。
webkitGetUserMediaを実行するためにサンドボックス化されたHTMLページを使用するパッケージ化されたアプリケーションがあり、うまくいきます。ここでは、あなたのマニフェストに必要があると思いますものです:アプリとして// NEWTABページ:あなたはその後、Chromeからのポップアップを起動する必要があり
{
"name": "app name",
"version": "0.2",
"manifest_version": 2,
"minimum_chrome_version": "21",
"app": {
"background": {
"scripts": ["main.js"]
}
},
"icons": {
/* "128": "icon_128.png" */
},
"sandbox": {
"pages": ["call.htm" ]
},
"permissions" : [ "videoCapture", "audioCapture" ]
}
。
// Chrome v24+
chrome.app.runtime.onLaunched.addListener(function() {
chrome.app.window.create('mainpage.html',
{width: 1190, height: 709});
});
そしてメインページあなたのポップアップウィンドウでなければなりません:main.jsはこのようなものが含まれている必要があります。私のセットアップでは、mainpage.html内にcall.htmというiframeがあり、iframeページはサンドボックス化されているので、通常のWebページとしてしか実行できない安全でない操作を行うことができます。しかし、私は非サンドボックス、ポップアップでgetUserMediaコマンドを実行した場合、私はwebkitGetUserMediaへの呼び出しからMediaStreamのオブジェクトを取得行います
navigator.webkitGetUserMedia({ audio: true, video: true },
function (stream) {
mediaStream = stream;
},
function (error) {
console.error("Error trying to get the stream:: " + error.message);
});
私はそれをテストし、私は、ポップアップで、私のビデオをキャプチャすることができました。
詳細をありがとう!残念ながら、拡張機能では機能しません: "この拡張機能をインストールしようとすると警告が表示されました: 'videoCapture'はパッケージ化されたアプリケーションでのみ使用でき、これは拡張機能です。 私はクロムで追跡されている問題を持っているので、うまくいけば、後でなく早くソートされてしまうでしょう。 – anonymouse
パッケージ化されたアプリと拡張機能の間に大きな違いはありません。ページアクションやブラウザアクションを作成しようとするかもしれませんが、パッケージ化されたアプリケーションとして考えてみてください。私は間違っているかもしれませんが、私はあなたが拡張機能でやりたがっていると思うことはすべて、パッケージ化されたアプリapiを介して利用できると思います。彼らは拡張機能と同じ方法でインストールします... – jmort253
私はそれを見て、ありがとう。 – anonymouse
これは安いハックですが、拡張機能のオプションページを作成してwebkitGetUserMedia
への呼び出しをJSに含めると、その拡張機能のすべてのURIについて、ユーザーがオプションで許可した後で許可を要求しますページには、バックグラウンドページにもそれを使用する権限があります。
これは、解決策を探して数日後に私のために働いた! tsbarnes rocks! – kirley
これは素晴らしいトリックです! – gregoiregentil
作品!ユーザーにオプションページにアクセスする必要があります –
@tsbarnesによって示唆されるようにハックがあるが、Chromeはハックが異なっているアプリのために、あなたの代わりにbackground.js
からnavigator.webkitGetUserMediaを呼び出し、のようなもの:
navigator.webkitGetUserMedia({audio: true, video: true}, function() {
console.log('ok');
}, function(e) {
console.log('webcam not ok');
});
そして、あなたはまだ、オーディオ/ビデオにアクセスすることができます窓から。HTMLやnavigator.webkitGetUserMedia
options.js
で作品を尋ねる他のWebView
いますが、新しいタブでoption.html
ポップアップを開く必要がありますかねえ
"options_ui": {
"page": "options.html",
"chrome_style": true,
"open_in_tab": true
}
- 1. Chrome拡張機能:データURIのコンテンツを操作する権限
- 2. Chrome OSのダウンロードフォルダにChrome拡張機能をインストールするにはどうすればよいですか?
- 3. Chrome拡張機能からポップアップウィンドウを表示できます
- 4. Google Chrome拡張機能:Firebug Liteのようなポップアップウィンドウ?
- 5. Chrome拡張機能でFacebookのホットキーを無効にするにはどうすればよいですか?
- 6. Google Chrome拡張機能でダウンロードするファイルを生成するにはどうすればよいですか?
- 7. Chrome拡張機能からGoogle Appsスクリプトを実行する権限を取得するにはどうすればよいですか。
- 8. Chromium/Chrome拡張機能のインラインインストールをローカルでテストするにはどうすればよいですか?
- 9. Google Chrome拡張機能でウェブクレジットの結果を取得するにはどうすればよいですか?
- 10. Chrome拡張機能でフルスクリーンのHTMLポップアップを作成するにはどうすればよいですか?
- 11. Chrome拡張機能で同じオリジナルポリシーを無効にするにはどうすればよいですか?
- 12. シークレットモードでChrome拡張機能を有効にするにはどうすればよいですか?
- 13. Chrome拡張機能オプションの権限がコールバック機能を評価しない
- 14. Chrome拡張機能のコンテンツスクリプトから変数を取得するにはどうすればよいですか?
- 15. Chrome拡張機能からノックアウトビューモデルの変更をトリガーするにはどうすればよいですか?
- 16. Chrome拡張機能の作成中にJavascriptエラーをデバッグするにはどうすればよいですか?
- 17. Chrome拡張機能のディレクトリにファイルをダウンロードするにはどうすればよいですか?
- 18. 複数のChrome拡張機能を同時に更新するにはどうすればよいですか?
- 19. コマンドラインでcrx Chrome拡張機能をインストールするにはどうすればよいですか?
- 20. バックグラウンドファイル(Chrome拡張機能)でcontent_scriptsを変更するにはどうすればよいですか?
- 21. プログラムでChrome拡張機能をインストールするにはどうすればよいですか?
- 22. SeleniumでGoogle Chrome拡張機能を使用するにはどうすればよいですか?
- 23. Chrome拡張機能で音声を録音するにはどうすればよいですか?
- 24. Chrome拡張機能でサイドバーを指定するにはどうすればよいですか?
- 25. Chrome拡張機能でスラッシュを回避するにはどうすればよいですか?
- 26. コード付きUIでChrome拡張機能を自動化するにはどうすればよいですか?
- 27. Chrome拡張機能でProxy-Authorization Cacheを削除するにはどうすればよいですか?
- 28. Chrome拡張機能で同じAsteroidインスタンスに再接続するにはどうすればよいですか?
- 29. Chrome拡張機能から開いたポップアップウィンドウのURLを取得
- 30. Chrome拡張機能:特定のウェブサイトのスタイルを変更するにはどうすればよいですか?
を書くこと
manifest.json
あなたがする必要がありますので、あなたが投稿することができ、エラーを取得しますあなたのmanifest.jsonファイルとあなたのpopup.htmlにあるコード。私はこれがうまくいくと信じていますが、私はあなたが手伝ってくれるものを見なければなりません。私は背景ページから同じことをしようとしていますが、私はポップアップからそれを行うことができます。 – jmort253