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

非标准
该特性是非标准的,请尽量不要在生产环境中使用它!

概述

该方法用来根据指定的配置,从摄像头获取到一个MediaStream数据流,你可以从该数据流中捕获到静态的照片.

注:使用该方法获取到的数据流仅能用来捕获静态的照片.如果你想录制视频,那么必须使用CameraControl.getPreviewStreamVideoMode()方法来代替.

语法

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

参数

options
一个包含有两个属性widthheight的对象.该对象可以通过CameraCapabilities.previewSizes属性获取到.
onsuccess
一个回调函数,会被传入一个参数,这个参数是一个MediaStream数据流对象,可以使用该数据流对象捕获静态的图像.
onerror 可选
一个回调函数,会被传入一个参数,这个参数是一个表示错误原因的字符串.如果在尝试获取MediaStream数据流对象时发生了错误,则会调用该函数.

示例

这个例子演示了如何通过使用MediaStream数据流对象来从摄像头捕获并播放静态的图片.

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)

规范

不属于任何规范.当WebRTC Capture and Stream API实现时,该方法应该会被删除.

相关链接

文档标签和贡献者

 此页面的贡献者: teoli, ziyunfei
 最后编辑者: teoli,