CameraContext.setZoom
基础库 1.78.0 开始支持本方法,这是一个异步方法。
设置 Camera 缩放级别。
语法
CameraContext.setZoom(options)
参数说明
options 为 object 类型,属性如下:
属性名 | 类型 | 默认值 | 必填 | 说明 | 最低支持版本 |
---|---|---|---|---|---|
zoom | number | 是 | 缩放级别,范围[1, maxZoom]。zoom 可取小数,精确到小数后一位。maxZoom 可在 bindinitdone 返回值中获取 | 1.78.0 | |
success | function | 否 | 接口调用成功的回调函数 | 1.78.0 | |
fail | function | 否 | 接口调用失败的回调函数 | 1.78.0 | |
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) | 1.78.0 |
zoom 参数与表现
传参 | 表现 |
---|---|
合法且在范围内 | 正常 |
不传 或 非 number 类型 | 报错 "invalid zoom" |
> maxzoom | 默认 maxzoom |
回调成功
object 类型,属性如下:
属性名 | 类型 | 说明 | 最低支持版本 |
---|---|---|---|
zoom | number | 实际设置的缩放级别。由于系统限制,某些机型可能无法设置成指定值,会改用最接近的可设值。 | 1.78.0 |
errMsg | string | "setCameraZoom:ok" | 1.78.0 |
回调失败
object 类型,属性如下:
属性名 | 类型 | 说明 | 最低支持版本 |
---|---|---|---|
errMsg | string | "setCameraZoom:fail" + errDetail | 1.78.0 |
errCode | number | 错误码 | 1.78.0 |
错误说明
errNo | errMsg | 说明 | 最低支持版本 |
---|---|---|---|
108 | invalid zoom | 无效的缩放级别 | 1.78.0 |
代码示例
<!-- index.ttml -->
<camera
class="camera"
device-position="back"
flash="off"
bindinitdone="initdone"
bindstop="onStop"
binderror="onError"
></camera>
<button type="primary" bindtap="setZoom">设置缩放级别</button>
// index.js
Page({
data: {
counter: 0,
},
onLoad: function (options) {
tt.getSetting({
success: (res) => {
let cameraAllowed = res.authSetting["scope.camera"];
if (!cameraAllowed) {
tt.showToast({
title: "请授权相机后重新进入", // 内容
success: (res) => {
this.auth();
},
});
}
},
fail: (err) => {
tt.showModal({
title: "获取授权失败",
content: JSON.stringify(err),
});
},
});
},
auth() {
tt.authorize({
scope: "scope.camera",
success: () => {
tt.showToast({
title: "授权成功",
});
tt.reLaunch({
url: "/pages/camera/setzoom", // 指定页面的url
});
},
fail: (err) => {
tt.showModal({
title: "授权失败",
content: JSON.stringify(err),
});
},
});
},
setZoom() {
this.ctx = tt.createCameraContext();
this.ctx.setZoom({
zoom: 5,
success(res) {
tt.showToast({
title: "设置 zoom 为" + res.zoom, // 内容
});
},
fail(err) {
tt.showModal({
content: "设置缩放失败:" + JSON.stringify(err),
});
},
});
},
onError(err) {
tt.showModal({
title: "相机出错了",
content: JSON.stringify(err),
});
},
});
Bug & Tip
- Tip:开发者工具暂不支持此能力,请用真机扫码调试。
点击纠错
该文档是否对你的开发有所帮助?
有帮助
没帮助
该文档是否对你的开发有所帮助?
有帮助
没帮助