Ticket #7676: 7676.ray.patch
File 7676.ray.patch, 3.0 KB (added by , 7 years ago) |
---|
-
src/bp-core/js/webcam.js
83 83 84 84 stream.onended = bp.WebCam.noStream(); 85 85 86 if ( video.mozSrcObject !== undefined ) { 87 video.mozSrcObject = stream; 88 video.play(); 89 } else if ( navigator.mozGetUserMedia ) { 90 video.src = stream; 91 video.play(); 92 } else if ( video.srcObject !== undefined ) { 86 // Older browsers may not have srcObject 87 if ( 'srcObject' in video ) { 93 88 video.srcObject = stream; 94 } else if ( window.URL ) {95 video.src = window.URL.createObjectURL( stream );96 89 } else { 97 video.src = stream; 90 // Avoid using this in new browsers, as it is going away. 91 video.src = window.URL.createObjectURL( stream ); 98 92 } 99 93 94 video.onloadedmetadata = function(e) { 95 video.play(); 96 }; 97 100 98 bp.WebCam.params.capture_enable = true; 101 99 }, 102 100 … … 172 170 initialize: function() { 173 171 var params; 174 172 175 if ( navigator.getUserMedia || navigator.oGetUserMedia || navigator.mozGetUserMedia || navigator.webkitGetUserMedia || navigator.msGetUserMedia ) { 173 // Standardize getUserMedia browser call. 174 navigator.getUserMedia = ( 175 navigator.getUserMedia || 176 navigator.webkitGetUserMedia || 177 navigator.mozGetUserMedia || 178 navigator.msGetUserMedia || 179 navigator.oGetUserMedia 180 ); 176 181 182 if ( typeof navigator.getUserMedia !== 'undefined' ) { 177 183 // We need to add some cropping stuff to use bp.Avatar.setAvatar() 178 184 params = _.extend( _.pick( BP_Uploader.settings.defaults.multipart_params.bp_params, 179 185 'object', … … 213 219 // User Feedback 214 220 bp.WebCam.displayWarning( 'requesting' ); 215 221 216 if ( navigator.getUserMedia ) { 217 navigator.getUserMedia( { video:true }, bp.WebCam.gotStream, bp.WebCam.noStream ); 218 } else if ( navigator.oGetUserMedia ) { 219 navigator.oGetUserMedia( { video:true }, bp.WebCam.gotStream, bp.WebCam.noStream ); 220 } else if ( navigator.mozGetUserMedia ) { 221 navigator.mozGetUserMedia( { video:true }, bp.WebCam.gotStream, bp.WebCam.noStream ); 222 } else if ( navigator.webkitGetUserMedia ) { 223 navigator.webkitGetUserMedia( { video:true }, bp.WebCam.gotStream, bp.WebCam.noStream ); 224 } else if (navigator.msGetUserMedia) { 225 navigator.msGetUserMedia( { video:true, audio:false }, bp.WebCams.gotStream, bp.WebCam.noStream ); 222 // Use deprecated getUserMedia call for browsers that require it. 223 if ( typeof navigator.mediaDevices.getUserMedia === 'undefined' ) { 224 navigator.getUserMedia({ 225 audio: false, 226 video: true 227 }, bp.WebCam.gotStream, bp.WebCam.noStream); 228 229 // Teh new hotness! 226 230 } else { 227 // User Feedback 228 bp.WebCam.displayWarning( 'errormsg' ); 231 navigator.mediaDevices.getUserMedia({ 232 audio: false, 233 video: true 234 }).then(bp.WebCam.gotStream, bp.WebCam.noStream).catch(function(err) { 235 console.log(err.name + ": " + err.message); 236 237 // User Feedback 238 bp.WebCam.displayWarning( 'errormsg' ); 239 }); 229 240 } 230 241 }, 231 242