jiti-meet/nwjs-integration/index.html

69 lines
2.1 KiB
HTML

<html>
<head>
<style>
body {
margin: 0;
}
iframe {
width: 100%;
height: 100%;
border: 0 none;
}
</style>
</head>
<body>
<script>
var gui = require('nw.gui');
var screenInitialized = false;
function obtainDesktopStream (callback, errorCallback) {
if (!screenInitialized) {
gui.Screen.Init();
screenInitialized = true;
}
gui.Screen.chooseDesktopMedia(
["window","screen"],
function(streamId) {
var vid_constraint = {
mandatory: {
chromeMediaSource: 'desktop',
chromeMediaSourceId: streamId,
maxWidth: 1920,
maxHeight: 1080
},
optional: []
};
navigator.webkitGetUserMedia({
audio: false, video: vid_constraint
}, callback, errorCallback);
}
);
}
// use Esc to leave fullscreen mode
nw.App.registerGlobalHotKey(new nw.Shortcut({
key: "Escape",
active: function () {
var win = nw.Window.get();
if (win.isFullscreen) {
win.leaveFullscreen();
}
}
}));
// create iframe with jitsi-meet
var iframe = document.createElement('iframe');
iframe.src = nw.App.manifest['jitsi-url'];
iframe.allowFullscreen = true;
iframe.onload = function () {
iframe.contentWindow.JitsiMeetNW = {
obtainDesktopStream: obtainDesktopStream
};
};
document.body.appendChild(iframe);
</script>
</body>
</html>