getUserMedia

< dom‎ | Navigator
Jump to: navigation, search

getUserMedia

This article is Ready to Use.


W3C Working Draft

Summary

Prompts the user for permission to use a media device such as a camera or microphone. If the user provides permission, the successCallback is invoked on the calling application with a LocalMediaStream object as its argument.

Method of dom/Navigator

Syntax

var stream = navigator.getUserMedia(constraints, successCallback, errorCallback);

Parameters

constraints

Data-type: MediaStreamConstraints


The constraints parameter is a MediaStreamConstraints object with two Boolean members: video and audio. These describe the media types supporting the LocalMediaStream object. Either or both must be specified to validate the constraint argument. If a specified constraint is not supported by the browser, getUserMedia invokes the errorCallback with the NOT_SUPPORTED_ERROR. If the browser cannot find any media track with the specified type, getUserMedia invokes the errorCallback with the MANDATORY_UNSATISFIED_ERR.

If the value or the member is not specified in the object, the value for the member defaults to false. The following demonstrates how to set the constraints for both audio and video:

{ video: true, audio: true }

There are additional constraints available. http://simpl.info/getusermedia/constraints/ demonstrates the use of maxWidth and maxHeight constraints. There is a set of resolutions that is currently supported at the libjingle level. They are summarized in this chromium ticket and can be confirmed in the libjingle source code


successCallback

Data-type: function


The getUserMedia function will call the function specified in the successCallback with the LocalMediaStream object that contains the media stream. You may assign that object to the appropriate element and work with it, as shown in the following example:

function(localMediaStream) {
   var video = document.querySelector('video');
   video.srcObject = localMediaStream;
   video.onloadedmetadata = function(e) {
      // Do something with the video here.
   };
},


errorCallback

Data-type: function Optional

The getUserMedia function will call the function specified in the errorCallback with a code argument. The error codes are described as follows:

  • PERMISSION_DENIED - The user denied permission to use a media device required for the operation.
  • NOT_SUPPORTED_ERROR - A constraint specified is not supported by the browser.
  • MANDATORY_UNSATISFIED_ERROR - No media tracks of the type specified in the constraints are found.

Return Value

Returns an object of type LocalMediaStream.




Compatibility

There is no data available for topic "webapi", feature "getUserMedia". If you think that there should be data available, consider opening an issue.

Examples

View live exampleThis live example uses feature detection to determine if the current web browser and operating system version supports the navigator.getUserMedia method.


Notes

The ms prefixed method is only available on windows 8 operating system. At the time of writing the standards getUserMedia method is 'in development'

Attribution

This article contains content originally from external sources.

Portions of this content come from the Mozilla Developer Network cc-by-sa-small-wpd.svg: [getUserMedia Method Article]