- JS API 列表
- 基础
- 网络
- 媒体
- 地图
- 文件
- 开放接口
- 数据缓存
- 地理位置
- 设备
- 画布
- 界面
- 页面导航
- 侧边栏能力
- 行业开放
- AI/AR能力
- 第三方平台
- TTML
- 转发和挂载
- 其它
- 直播能力
CameraFrameListener.start收藏我的收藏
收藏
我的收藏基础库 1.78.0 开始支持本方法,这是一个同步方法。
开始监听帧数据。开始监听后,CameraContext.onCameraFrame 回调中开始接收帧数据。
前提条件 | 无 |
业务背景 | 无 |
使用限制 | 无 |
注意事项 |
|
支持沙盒 | 否 |
相关教程 | 无 |
语法
CameraFrameListener.start()
参数说明
无
返回值
无
代码示例
<!-- index.ttml -->
<camera class="camera" frame-size="medium" device-position="back" binderror="onError"></camera>
<view class="page-body">
<button type="primary" bindtap="auth">相机授权</button>
<button type="primary" bindtap="startOnFrame">开始接收帧数据</button>
<view>第 {{counter}} 帧</view>
<view hidden="{{counter === 0}}">frameWidth{{frameWidth}}; frameHeight:{{frameHeight}}</view>
</view>
// index.js
var listener;
Page({
data: {
counter: 0,
frameWidth: 0,
frameHeight: 0,
},
onLoad: function (options) {
this.openCamera();
},
openCamera() {
tt.getSetting({
success: (res) => {
let cameraAllowed = res.authSetting["scope.camera"];
if (cameraAllowed) {
this.ctx = tt.createCameraContext();
} else {
tt.showToast({
title: "请授权相机后重新进入"
});
}
},
fail: (err) => {
tt.showModal({
title: "获取授权失败",
content: JSON.stringify(err),
});
},
});
},
startOnFrame(e) {
listener = this.ctx.onCameraFrame((frame) => {
let { width, height, data } = frame;
this.setData({
counter: this.data.counter + 1,
frameWidth: width,
frameHeight: height,
});
});
listener.start({
success: (res) => {
tt.showToast({ title: "开始接收帧数据" });
},
fail: (err) => {
tt.showModal({
title: "接收失败",
content: JSON.stringify(err),
});
},
});
},
onError(err) {
tt.showModal({
title: "相机出错了",
content: JSON.stringify(err),
});
},
});
该文档是否有帮助?
点击纠错