Added support for screensharing in MS Edge.

master
Håvar Aambø Fosstveit 2018-06-25 13:49:50 +02:00
parent f7bb0ab738
commit 61fd5a4e4a
2 changed files with 61 additions and 0 deletions

View File

@ -189,6 +189,57 @@ class FirefoxScreenShare
}
}
class EdgeScreenShare
{
constructor()
{
this._stream = null;
}
start(options = {})
{
const constraints = this._toConstraints(options);
return navigator.getDisplayMedia(constraints)
.then((stream) =>
{
this._stream = stream;
return Promise.resolve(stream);
});
}
stop()
{
if (this._stream instanceof MediaStream === false)
{
return;
}
this._stream.getTracks().forEach((track) => track.stop());
this._stream = null;
}
isScreenShareAvailable()
{
return true;
}
needExtension()
{
return false;
}
_toConstraints()
{
const constraints = {
video : true
};
return constraints;
}
}
class DefaultScreenShare
{
isScreenShareAvailable()
@ -216,6 +267,10 @@ export default class ScreenShare
{
return new ChromeScreenShare();
}
case 'edge':
{
return new EdgeScreenShare();
}
default:
{
return new DefaultScreenShare();

View File

@ -35,5 +35,11 @@ export function getBrowserType()
return 'chrome';
}
// MSEdge
if (ua.indexOf('edge') !== -1)
{
return 'edge';
}
return 'N/A';
}