|
|
|
@ -324,9 +324,30 @@ class WebRTCClass |
|
|
|
|
|
|
|
|
|
return peerConnection |
|
|
|
|
|
|
|
|
|
_getUserMedia: (media, onSuccess, onError) -> |
|
|
|
|
onSuccessLocal = (stream) -> |
|
|
|
|
if AudioContext? and stream.getAudioTracks().length > 0 |
|
|
|
|
audioContext = new AudioContext |
|
|
|
|
source = audioContext.createMediaStreamSource(stream) |
|
|
|
|
|
|
|
|
|
volume = audioContext.createGain() |
|
|
|
|
source.connect(volume) |
|
|
|
|
peer = audioContext.createMediaStreamDestination() |
|
|
|
|
volume.connect(peer) |
|
|
|
|
volume.gain.value = 0.6 |
|
|
|
|
|
|
|
|
|
stream.removeTrack(stream.getAudioTracks()[0]) |
|
|
|
|
stream.addTrack(peer.stream.getAudioTracks()[0]) |
|
|
|
|
stream.volume = volume |
|
|
|
|
|
|
|
|
|
onSuccess(stream) |
|
|
|
|
|
|
|
|
|
navigator.getUserMedia media, onSuccessLocal, onError |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
getUserMedia: (media, onSuccess, onError=@onError) -> |
|
|
|
|
if media.desktop isnt true |
|
|
|
|
navigator.getUserMedia media, onSuccess, onError |
|
|
|
|
@_getUserMedia media, onSuccess, onError |
|
|
|
|
return |
|
|
|
|
|
|
|
|
|
if @screenShareAvailable isnt true |
|
|
|
@ -371,7 +392,7 @@ class WebRTCClass |
|
|
|
|
video: |
|
|
|
|
mozMediaSource: 'window' |
|
|
|
|
mediaSource: 'window' |
|
|
|
|
navigator.getUserMedia media, getScreenSuccess, onError |
|
|
|
|
@_getUserMedia media, getScreenSuccess, onError |
|
|
|
|
else |
|
|
|
|
ChromeScreenShare.getSourceId (id) => |
|
|
|
|
console.log id |
|
|
|
@ -384,7 +405,7 @@ class WebRTCClass |
|
|
|
|
maxWidth: 1280 |
|
|
|
|
maxHeight: 720 |
|
|
|
|
|
|
|
|
|
navigator.getUserMedia media, getScreenSuccess, onError |
|
|
|
|
@_getUserMedia media, getScreenSuccess, onError |
|
|
|
|
|
|
|
|
|
if @navigator is 'firefox' or not media.audio? or media.audio is false |
|
|
|
|
getScreen() |
|
|
|
@ -395,7 +416,7 @@ class WebRTCClass |
|
|
|
|
getAudioError = => |
|
|
|
|
getScreen() |
|
|
|
|
|
|
|
|
|
navigator.getUserMedia {audio: media.audio}, getAudioSuccess, getAudioError |
|
|
|
|
@_getUserMedia {audio: media.audio}, getAudioSuccess, getAudioError |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### |
|
|
|
|