Changeset 11944
- Timestamp:
- 04/03/2018 04:58:03 PM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/bp-core/js/webcam.js
r10496 r11944 84 84 stream.onended = bp.WebCam.noStream(); 85 85 86 if ( video.mozSrcObject !== undefined ) { 87 video.mozSrcObject = stream; 86 // Older browsers may not have srcObject 87 if ( 'srcObject' in video ) { 88 video.srcObject = stream; 89 } else { 90 // Avoid using this in new browsers, as it is going away. 91 video.src = window.URL.createObjectURL( stream ); 92 } 93 94 video.onloadedmetadata = function() { 88 95 video.play(); 89 } else if ( navigator.mozGetUserMedia ) { 90 video.src = stream; 91 video.play(); 92 } else if ( video.srcObject !== undefined ) { 93 video.srcObject = stream; 94 } else if ( window.URL ) { 95 video.src = window.URL.createObjectURL( stream ); 96 } else { 97 video.src = stream; 98 } 96 }; 99 97 100 98 bp.WebCam.params.capture_enable = true; … … 173 171 var params; 174 172 175 if ( navigator.getUserMedia || navigator.oGetUserMedia || navigator.mozGetUserMedia || navigator.webkitGetUserMedia || navigator.msGetUserMedia ) { 176 173 // Standardize getUserMedia browser call. 174 navigator.getUserMedia = ( 175 navigator.getUserMedia || 176 navigator.webkitGetUserMedia || 177 navigator.mozGetUserMedia || 178 navigator.msGetUserMedia || 179 navigator.oGetUserMedia 180 ); 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, … … 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) 235 // ES3 compatibility. 236 ['catch'](function() { 237 // User Feedback 238 bp.WebCam.displayWarning( 'errormsg' ); 239 }); 229 240 } 230 241 },
Note: See TracChangeset
for help on using the changeset viewer.