v0.1首个正式支持的版本化规范查看版本范围

capture.requestCamera()

通过可信宿主 UI 申请摄像头。成功返回会话级只读句柄。

Syntax

const stream = await host.capture.requestCamera(constraints, options?);

Parameters

constraints: CameraConstraints 使用模块页的封闭结构;对象必填、字段可选。options?: CallOptions 可取消等待中的可信 UI;这些字段不是浏览器原始 constraints。

Return value

CameraStream | null

CameraStream 使用模块页的封闭结构;实际 facing、尺寸、stride、frameBytesnominalFrameRate 在句柄生命周期内不变。指定 facing 时它是硬约束;未指定时宿主可选择任一朝向,但必须返回实际值。名义帧率不得超过 maxFrameRate,实际到达可以更低。

Examples

startButton.onclick = async () => {
  const stream = await host.capture.requestCamera({
    facing: 'user', maxWidth: 1280, maxHeight: 720,
  });
  if (stream) await preview(stream);
};

Errors

特有错误:deniedactivation-requireddevice-unavailablecancelledlimit-exceeded。只有平台提供能与权限拒绝可靠区分的可信选择器时,用户在该选择器中关闭才返回 null;浏览器把关闭和拒绝都报告为权限拒绝时统一返回 denied,不得猜测用户意图。

Requirements

  • 能力:host:capture.requestCamera
  • 可信用户激活和系统确认:必须
  • 可取消:是;调用方取消返回 cancelled
  • 信任档位:yellow

See also

capture.frame()capture.stop()

Host API 版本与分层概览Host API v0.1版本非正式提议提议canvas API呈现canvas.getInfo()方法canvas.draw()方法canvas.present()方法canvas.measureText()方法canvas.frame event事件canvas.resize event事件asset API呈现asset.read()方法asset.loadFont()方法playback API呈现playback.open()方法playback.write()方法playback.stop()方法playback.ready event事件playback.ended event事件input API输入input.focus()方法input.pointer event事件input.key event事件input.wheel event事件input.focusChange event事件ime API输入ime.openSession()方法ime.updateState()方法ime.updateGeometry()方法ime.closeSession()方法ime.textUpdate event事件ime.composition event事件ime.formatUpdate event事件ime.characterBoundsRequest event事件ime.ended event事件capture API输入capture.requestCamera()方法capture.requestMic()方法capture.frame()方法capture.readAudio()方法capture.stop()方法capture.ended event事件store API数据store.get()方法store.put()方法store.delete()方法store.list()方法store.deletePrefix()方法clipboard API数据clipboard.readText()方法clipboard.writeText()方法env API平台集成env.snapshot()方法env.change event事件开始调用 Host API指南构建交互式绘图应用指南构建自绘文本编辑器指南管理媒体采集与播放指南组织本地数据与同步指南