0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

OpenHarmony之如何实现震动

ArkUI详解 来源:鸿蒙实验室 作者:鸿蒙实验室 2022-10-12 07:57 次阅读


OpenHarmony之如何实现震动。

作者“坚果,华为云享专家,InfoQ签约作者,润和软件KOL专家,电子发烧友鸿蒙MVP,51CTO博客专家博主,阿里云博客专家,开源项目gin-vue-admin成员之一

马达振动服务通过细腻精致的一体化振动体验和差异化体验,提升用户交互效率和易用性、提升用户体验。

运作机制

Vibrator属于控制类小器件,主要包含以下四个模块:Vibrator API,Vibrator Framework,Vibrator Service和HDF层。

控制类小器件中的Vibrator

0752d302-aeb9-481a-bb8f-e5524eb61eeb

Vibrator API:提供振动器基础的API,主要包含振动器的列表查询,振动器的振动器效果查询,触发/关闭振动器等接口

Vibrator Framework:实现振动器的框架层管理,实现与控制类小器件Service的通信

Vibrator Service:实现控制器的服务管理。

HDF层:适配不同设备。

接下来我们就看一下如何实现一个简单的震动器。

效果预览

3

1.配置权限

控制设备上的振动器,需要在config.json里面进行配置请求权限。具体如下:

"reqPermissions": [

{

"name": "ohos.permission.VIBRATE"

}

]

2. 导入模块

import vibrator from '@ohos.vibrator';

function vibrate(duration: number, callback?: AsyncCallback): void;

表示按照指定持续时间触发马达振动。duration表示马达振动的持续时间,callback马达执行振动的回调函数,指示触发振动是否成功。

3.触发设备振动。

vibrator.vibrate(10000, (error) => {

if (error) {//调用失败,打印error.code和error.message

console.info("Promise return failed.error.code " + error.code + "error.message " + error.message);

this.content="失败"

} else { //调用成功,设备开始振动

console.info("Promise returned to indicate a successful vibration.")

this.content="成功"

}

}

完整代码

/**

* @ProjectName : nutsStudy

* @FileName : viberation

* @Author : 坚果

* @Time : 2022/8/15 11:15

* @Description : 震动

*/

import vibrator from "@ohos.vibrator"

@Entry

@Component

struct ViberSample {

@State content: string = "是否震动";

build() {

Column() {

Button(this.content)

.width(200)

.height(80)

.fontSize(30)

.fontColor(Color.Orange)

.onClick(() => {

vibrator.vibrate(10000, (error) => {

if (error) { //调用失败,打印error.code和error.message

console.info("Promise return failed.error.code " + error.code + "error.message " + error.message);

this.content = "失败"

} else { //调用成功,设备开始振动

console.info("Promise returned to indicate a successful vibration.")

this.content = "成功"

}

}

)

}

)

}.width("100%").height("100%").justifyContent(FlexAlign.Center)

}

}

完毕。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 开源
    +关注

    关注

    3

    文章

    3349

    浏览量

    42500
  • 马达
    +关注

    关注

    1

    文章

    822

    浏览量

    62289
  • 振动器
    +关注

    关注

    1

    文章

    36

    浏览量

    6481
  • OpenHarmony
    +关注

    关注

    25

    文章

    3722

    浏览量

    16317
收藏 人收藏

    评论

    相关推荐

    OpenHarmony开机优化

    一丶环境信息 源码版本:OpenHarmony-4.1-Release 板子型号:dayu200(RK3568) 二丶Bootchart工具 在开机优化时,我们需要借助Bootchart工具,当前
    发表于 07-01 16:39

    手机摇一摇和震动功能怎么实现

    js实现手机摇一摇以及震动功能
    发表于 07-01 12:12

    直播预告丨OpenHarmony标准系统多媒体子系统视频解读

    OpenHarmony官方社群直播间带来干货分享《OpenHarmony标准系统多媒体子系统视频解读》,他将为大家介绍OpenHarmony多媒体视频子系统整体框架,以及代码结构、视
    发表于 05-18 10:16

    本周四晚19:00知识赋能第3期直播丨OpenHarmony智能家居项目控制面板功能实现

    本周四晚19:00知识赋能第3期直播丨OpenHarmony智能家居项目控制面板功能实现OpenAtom OpenHarmony(以下简称“Ope
    发表于 07-13 17:27

    【直播回顾】OpenHarmony知识赋能六期第三课—OpenHarmony智能家居项目控制面板功能实现

    【直播回顾】OpenHarmony知识赋能六期第三课—OpenHarmony智能家居项目控制面板功能实现7月14日晚上19点,知识赋能第六期第三节直播 《
    发表于 07-15 11:17

    本周四晚19:00知识赋能第4期直播丨OpenHarmony智能家居项目设备控制实现

    本周四晚19:00知识赋能第4期直播丨OpenHarmony智能家居项目设备控制实现OpenAtom OpenHarmony(以下简称“OpenH
    发表于 08-03 10:55

    【直播回顾】OpenHarmony知识赋能六期第五课—WiFi子系统

    开发控制面板应用,布局设计、相关组件开发,具体包括控制面板的布局设计以及ArkUI相关组件的使用。OpenHarmony智能家居项目控制面板界面功能实现回顾链接:本周四晚19:00知识赋能第3期直播
    发表于 08-12 17:59

    OpenHarmony 3.2 Beta源码分析MediaLibrary

    OpenHarmony 3.2 Beta源码分析MediaLibrary1.MediaLibrary介绍OpenAtom OpenHarmony(以下简称“OpenHarmony
    发表于 09-19 10:47

    OpenHarmony有氧拳击应用端开发

    OpenHarmony有氧拳击应用端开发一、简介继《OpenHarmony有氧拳击设备端的开发》后,本次为大家带来酷炫的应用端开发。如下,开发者伴随着音乐,律动出拳后,那开发板屡屡播放“挨打”效果
    发表于 10-09 15:19

    OpenHarmonyNAPI框架介绍

    。 可以看到,NAPI 接口本身是 C++语言实现的,这些接口可以帮助 C++代码创建 JS 变量,或访问 JavaScript 运行环境中的 JS 变量与方法。 OpenHarmony
    发表于 11-23 15:36

    震动开关原理_震动开关的使用

    震动开关,正确的名称应该称为震动传感器,也就是在感应震动力大小将感应结果传递到电路装置,并使电路启动工作的电子开关。
    发表于 11-13 14:38 9477次阅读

    基于openharmony开发可拖动视图案例

    Component转PixelMap方案将会再更新。 用法 依赖项{ 实现‘io.openharmony.tpc.thirdlib:DraggableView:1.0.0’ } 1.实施
    发表于 03-22 11:00 1次下载

    OpenHarmony开发MQTT讲解

    点击蓝字 ╳ 关注我们 开源项目 OpenHarmony 是每个人的 OpenHarmony 王维平 OpenHarmony知识体系工作组 以下内容来自嘉宾分享,不代表开放原子开源基金会观点 相信
    的头像 发表于 11-15 22:50 1064次阅读

    教程分享!OpenHarmonyNAPI框架介绍

    是 C++语言实现的,这些接口可以帮助 C++代码创建 JS 变量,或访问 JavaScript 运行环境中的 JS 变量与方法。 OpenHarmony 中的 NAPI OpenAtom OpenHarmony(以下简称“
    的头像 发表于 11-30 12:15 1424次阅读
    教程分享!<b class='flag-5'>OpenHarmony</b><b class='flag-5'>之</b>NAPI框架介绍

    OpenHarmony NAPI 框架介绍

    NAPI 是什么 NAPI 的概念源自 Nodejs,为了实现 javascript 脚本与 C++ 库之间的相互调用,Nodejs 对 V8 引擎的 api 做了一层封装,称为 NAPI。可以在
    的头像 发表于 02-01 17:34 701次阅读
    <b class='flag-5'>OpenHarmony</b> <b class='flag-5'>之</b> NAPI 框架介绍