0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

OpenHarmony之如何實現(xiàn)震動

ArkUI詳解 ? 來源:鴻蒙實驗室 ? 作者:鴻蒙實驗室 ? 2022-10-12 07:57 ? 次閱讀


OpenHarmony之如何實現(xiàn)震動。

作者“堅果,華為云享專家,InfoQ簽約作者,潤和軟件KOL專家,電子發(fā)燒友鴻蒙MVP,51CTO博客專家博主,阿里云博客專家,開源項目gin-vue-admin成員之一

馬達振動服務通過細膩精致的一體化振動體驗和差異化體驗,提升用戶交互效率和易用性、提升用戶體驗。

運作機制

Vibrator屬于控制類小器件,主要包含以下四個模塊:Vibrator API,Vibrator Framework,Vibrator Service和HDF層。

控制類小器件中的Vibrator

0752d302-aeb9-481a-bb8f-e5524eb61eeb

Vibrator API:提供振動器基礎的API,主要包含振動器的列表查詢,振動器的振動器效果查詢,觸發(fā)/關閉振動器等接口。

Vibrator Framework:實現(xiàn)振動器的框架層管理,實現(xiàn)與控制類小器件Service的通信。

Vibrator Service:實現(xiàn)控制器的服務管理。

HDF層:適配不同設備。

接下來我們就看一下如何實現(xiàn)一個簡單的震動器。

效果預覽

3

1.配置權限

控制設備上的振動器,需要在config.json里面進行配置請求權限。具體如下:

"reqPermissions": [

{

"name": "ohos.permission.VIBRATE"

}

]

2. 導入模塊

import vibrator from '@ohos.vibrator';

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

表示按照指定持續(xù)時間觸發(fā)馬達振動。duration表示馬達振動的持續(xù)時間,callback馬達執(zhí)行振動的回調函數(shù),指示觸發(fā)振動是否成功。

3.觸發(fā)設備振動。

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)

}

}

完畢。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 開源
    +關注

    關注

    3

    文章

    3380

    瀏覽量

    42601
  • 馬達
    +關注

    關注

    1

    文章

    823

    瀏覽量

    62359
  • 振動器
    +關注

    關注

    1

    文章

    36

    瀏覽量

    6500
  • OpenHarmony
    +關注

    關注

    25

    文章

    3731

    瀏覽量

    16425
收藏 人收藏

    評論

    相關推薦

    OpenHarmony開機優(yōu)化

    一丶環(huán)境信息 源碼版本:OpenHarmony-4.1-Release 板子型號:dayu200(RK3568) 二丶Bootchart工具 在開機優(yōu)化時,我們需要借助Bootchart工具,當前
    發(fā)表于 07-01 16:39

    手機搖一搖和震動功能怎么實現(xiàn)

    js實現(xiàn)手機搖一搖以及震動功能
    發(fā)表于 07-01 12:12

    直播預告丨OpenHarmony標準系統(tǒng)多媒體子系統(tǒng)視頻解讀

    OpenHarmony官方社群直播間帶來干貨分享《OpenHarmony標準系統(tǒng)多媒體子系統(tǒng)視頻解讀》,他將為大家介紹OpenHarmony多媒體視頻子系統(tǒng)整體框架,以及代碼結構、視
    發(fā)表于 05-18 10:16

    本周四晚19:00知識賦能第3期直播丨OpenHarmony智能家居項目控制面板功能實現(xiàn)

    本周四晚19:00知識賦能第3期直播丨OpenHarmony智能家居項目控制面板功能實現(xiàn)OpenAtom OpenHarmony(以下簡稱“Ope
    發(fā)表于 07-13 17:27

    【直播回顧】OpenHarmony知識賦能六期第三課—OpenHarmony智能家居項目控制面板功能實現(xiàn)

    【直播回顧】OpenHarmony知識賦能六期第三課—OpenHarmony智能家居項目控制面板功能實現(xiàn)7月14日晚上19點,知識賦能第六期第三節(jié)直播 《
    發(fā)表于 07-15 11:17

    本周四晚19:00知識賦能第4期直播丨OpenHarmony智能家居項目設備控制實現(xiàn)

    本周四晚19:00知識賦能第4期直播丨OpenHarmony智能家居項目設備控制實現(xiàn)OpenAtom OpenHarmony(以下簡稱“OpenH
    發(fā)表于 08-03 10:55

    【直播回顧】OpenHarmony知識賦能六期第五課—WiFi子系統(tǒng)

    開發(fā)控制面板應用,布局設計、相關組件開發(fā),具體包括控制面板的布局設計以及ArkUI相關組件的使用。OpenHarmony智能家居項目控制面板界面功能實現(xiàn)回顧鏈接:本周四晚19:00知識賦能第3期直播
    發(fā)表于 08-12 17:59

    OpenHarmony 3.2 Beta源碼分析MediaLibrary

    OpenHarmony 3.2 Beta源碼分析MediaLibrary1.MediaLibrary介紹OpenAtom OpenHarmony(以下簡稱“OpenHarmony
    發(fā)表于 09-19 10:47

    OpenHarmony有氧拳擊應用端開發(fā)

    OpenHarmony有氧拳擊應用端開發(fā)一、簡介繼《OpenHarmony有氧拳擊設備端的開發(fā)》后,本次為大家?guī)砜犰诺膽枚碎_發(fā)。如下,開發(fā)者伴隨著音樂,律動出拳后,那開發(fā)板屢屢播放“挨打”效果
    發(fā)表于 10-09 15:19

    OpenHarmonyNAPI框架介紹

    。 可以看到,NAPI 接口本身是 C++語言實現(xiàn)的,這些接口可以幫助 C++代碼創(chuàng)建 JS 變量,或訪問 JavaScript 運行環(huán)境中的 JS 變量與方法。 OpenHarmony
    發(fā)表于 11-23 15:36

    震動開關原理_震動開關的使用

    震動開關,正確的名稱應該稱為震動傳感器,也就是在感應震動力大小將感應結果傳遞到電路裝置,并使電路啟動工作的電子開關。
    發(fā)表于 11-13 14:38 ?9522次閱讀

    基于openharmony開發(fā)可拖動視圖案例

    Component轉PixelMap方案將會再更新。 用法 依賴項{ 實現(xiàn)‘io.openharmony.tpc.thirdlib:DraggableView:1.0.0’ } 1.實施
    發(fā)表于 03-22 11:00 ?1次下載

    OpenHarmony開發(fā)MQTT講解

    點擊藍字 ╳ 關注我們 開源項目 OpenHarmony 是每個人的 OpenHarmony 王維平 OpenHarmony知識體系工作組 以下內容來自嘉賓分享,不代表開放原子開源基金會觀點 相信
    的頭像 發(fā)表于 11-15 22:50 ?1079次閱讀

    教程分享!OpenHarmonyNAPI框架介紹

    是 C++語言實現(xiàn)的,這些接口可以幫助 C++代碼創(chuàng)建 JS 變量,或訪問 JavaScript 運行環(huán)境中的 JS 變量與方法。 OpenHarmony 中的 NAPI OpenAtom OpenHarmony(以下簡稱“
    的頭像 發(fā)表于 11-30 12:15 ?1475次閱讀
    教程分享!<b class='flag-5'>OpenHarmony</b><b class='flag-5'>之</b>NAPI框架介紹

    OpenHarmony NAPI 框架介紹

    NAPI 是什么 NAPI 的概念源自 Nodejs,為了實現(xiàn) javascript 腳本與 C++ 庫之間的相互調用,Nodejs 對 V8 引擎的 api 做了一層封裝,稱為 NAPI??梢栽?/div>
    的頭像 發(fā)表于 02-01 17:34 ?733次閱讀
    <b class='flag-5'>OpenHarmony</b> <b class='flag-5'>之</b> NAPI 框架介紹