desktopCapturer
desktopCapturer
モジュールはgetUserMedia
でキャプチャーするのに使える利用可能なソースを取得するのに使われます。
// In the renderer process.
var desktopCapturer = require('electron').desktopCapturer;
desktopCapturer.getSources({types: ['window', 'screen']}, function(error, sources) {
if (error) throw error;
for (var i = 0; i < sources.length; ++i) {
if (sources[i].name == "Electron") {
navigator.webkitGetUserMedia({
audio: false,
video: {
mandatory: {
chromeMediaSource: 'desktop',
chromeMediaSourceId: sources[i].id,
minWidth: 1280,
maxWidth: 1280,
minHeight: 720,
maxHeight: 720
}
}
}, gotStream, getUserMediaError);
return;
}
}
});
function gotStream(stream) {
document.querySelector('video').src = URL.createObjectURL(stream);
}
function getUserMediaError(e) {
console.log('getUserMediaError');
}
navigator.webkitGetUserMedia
用の制限されたオブジェクトコールを作成し、desktopCapturer
からソースを使用するのなら、chromeMediaSource
は"desktop"
を設定し、audio
はfalse
を設定しなければなりません。
全てのデスクトップから音とビデオをキャプチャーしたいなら、chromeMediaSource``"screen"
、audio
に true
.を設定します。このメソッドを使うとき、chromeMediaSourceId
は指定できません。
メソッド
desktopCapturer
モジュールは次のメソッドを持ちます。
desktopCapturer.getSources(options, callback)
options
Objecttypes
Array - キャプチャーされるデスクトップソースの種類一覧の文字列配列で、 提供される種類はscreen
とwindow
です。thumbnailSize
Object (オプション) - サムネイルがスケールすべきサイズの指定で、既定では{width: 150, height: 150}
です。
callback
Function
全てのデスクトップソールを取得するためのリクエストを開始し、リクエストが完了すると、callback
はcallback(error, sources)
でコールされます。
sources
は、Source
オブジェクトの配列で、それぞれのSource
はキャプチャーしたスクリーンか、1つのウィンドウを示し、次のプロパティを持ちます。
id
String - The id of the captured window or screen used innavigator.webkitGetUserMedia
で使われるキャプチャーしたウィンドウか画面のidです。window:XX
かscreen:XX
のようなフォーマットで、XX
はランダムに生成された数字です。name
String - キャプチャーする画面かウィンドウの説明名ソースが画面なら名前はEntire Screen
で、Screen <index>
はウィンドウで、名前はウィンドウのタイトルです。thumbnail
NativeImage - サムネイル画像
Note: source.thumbnail
のサイズはいつもoptions
のthumnbailSize
と同じ保証はありません。画面またはウィンドウのサイズに依存します。