Join MDN and developers like you at Mozilla's View Source conference, 12-14 September in Berlin, Germany. Learn more at https://viewsourceconf.org

CameraControl.getPreviewStream()

This API is available on Firefox OS for privileged or certified applications only.

Summary

This method is used to configure and access a MediaStream from the camera. The resulting stream is ready for you to use to capture still photos.

This API was removed in Firefox OS 2.0; as of 2.0, CameraControl.camera can instead be assigned directly to videoElement.mozSrcObject.

Note: The stream you get using this method is only suitable for capturing still photos. If you want to record video, you must call CameraControl.getPreviewStreamVideoMode() instead.

Syntax

CameraControl.getPreviewStream(options, onsuccess[, onerror]);

Parameters

options
An object containing two properties: width and height. This object must be equal to one of the objects available through CameraCapabilities.previewSizes
onsuccess
A callback function that accepts one parameter. This parameter is a MediaStream object, ready for use in capturing still images.
onerror Optional
A callback function that accepts an error string as parameter; it's called if an error occurs while attempting to obtain the MediaStream.

Example

This example gets a MediaStream suitable for capturing stills and begins playing the preview stream.

var display = document.getElementsByTagName('video')[0];
var options = {
  camera: navigator.mozCameras.getListOfCameras()[0]
};

function onStreamReady( stream ) {
  display.mozSrcObject = stream;
  display.play();
}

function onAccessCamera( camera ) {
  var size = camera.capabilities.previewSizes[0];

  camera.getPreviewStream(size, onStreamReady);
};

navigator.mozCameras.getCamera(options, onAccessCamera)

Specification

Not part of any specification; however, this API should be removed when the WebRTC Capture and Stream API has been implemented.

See also

Document Tags and Contributors

 Contributors to this page: chrisdavidmills, Cfinke, teoli, ajaybhat, kscarfone, Sheppy, Jeremie
 Last updated by: chrisdavidmills,