首页 > 其他分享 >HarmonyOS振动效果开发指导

HarmonyOS振动效果开发指导

时间:2023-12-04 11:38:22浏览次数:48  
标签:vibrator 振动器 振动 指导 ohos HarmonyOS Vibrator error

 

Vibrator开发概述

振动器模块服务最大化开放硬工最新马达器件能力,通过拓展原生马达服务实现振动与交互融合设计,打造细腻精致的一体化振动体验和差异化体验,提升用户交互效率和易用性、提升用户体验、增强品牌竞争力。

运作机制

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

图1 控制类小器件中的Vibrator

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

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

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

● HDF层:适配不同设备。

约束与限制

在使用振动器时,开发者需要配置请求振动器的权限ohos.permission.VIBRATE,才能控制振动器振动。

Vibrator开发指导

场景介绍

当设备需要设置不同的振动效果时,可以调用Vibrator模块,例如:设备的按键可以设置不同强度和不同时长的振动,闹钟和来电可以设置不同强度和时长的单次或周期振动。

详细的接口介绍请参考Vibrator接口

接口说明

模块

接口名

描述

ohos.vibrator

startVibration(effect: VibrateEffect, attribute: VibrateAttribute): Promise<void>

根据指定振动效果和振动属性触发马达振动,使用Promise异步回调。

ohos.vibrator

startVibration(effect: VibrateEffect, attribute: VibrateAttribute, callback: AsyncCallback<void>): void

根据指定振动效果和振动属性触发马达振动,使用Callback异步回调。

ohos.vibrator

stopVibration(stopMode: VibratorStopMode): Promise<void>

按照指定模式停止马达的振动。

ohos.vibrator

stopVibration(stopMode: VibratorStopMode, callback: AsyncCallback<void>): void

按照指定模式停止马达的振动。

开发步骤

1.  控制设备上的振动器,需要申请权限ohos.permission.VIBRATE。具体配置方式请参考权限申请声明

2.  根据指定振动效果和振动属性触发马达振动。

 

import vibrator from '@ohos.vibrator';
try {
    vibrator.startVibration({
        type: 'time',
        duration: 1000,
    }, {
        id: 0,
        usage: 'alarm'
    }, (error) => {
        if (error) {
            console.error('vibrate fail, error.code: ' + error.code + 'error.message: ', + error.message);
            return;
        }
        console.log('Callback returned to indicate a successful vibration.');
    });
} catch (err) {
    console.error('errCode: ' + err.code + ' ,msg: ' + err.message);
}

  

3.  按照指定模式停止马达的振动。

import vibrator from '@ohos.vibrator';
try {
  // 按照VIBRATOR_STOP_MODE_TIME模式停止振动
  vibrator.stopVibration(vibrator.VibratorStopMode.VIBRATOR_STOP_MODE_TIME, function (error) {
      if (error) {
          console.log('error.code' + error.code + 'error.message' + error.message);
          return;
      }
      console.log('Callback returned to indicate successful.');
  })
} catch (err) {
  console.info('errCode: ' + err.code + ' ,msg: ' + err.message);
}

  

标签:vibrator,振动器,振动,指导,ohos,HarmonyOS,Vibrator,error
From: https://www.cnblogs.com/HarmonyOSDev/p/17874528.html

相关文章

  • 深入理解HarmonyOS UIAbility:生命周期、WindowStage与启动模式探析
    本文分享自华为云社区《深入理解HarmonyOSUIAbility:生命周期、WindowStage与启动模式探析》,作者:柠檬味拥抱。UIAbility组件概述UIAbility组件是HarmonyOS中一种包含UI界面的应用组件,主要用于与用户进行交互。每个UIAbility组件实例对应最近任务列表中的一个任务,可以包含多个页......
  • HarmonyOS之ArkTS-常用基本数据类型及使用
    ArtTS基本数据类型:包括number、string、boolean、array、枚举类型、unknown等number:数字类型,在程序中定义一个变量指定类型一定要小写number      看了截图大家肯定有点疑惑为什么变量后面要加一个;number这就是TS的缘故,这样是为了防止后面发生变异(可被用来放......
  • HarmonyOS之ArkTS
    ArkTs是什么:它则是TS的超集,在TypeScript(简称TS)的基础上,扩展了声明式UI、状态管理等相应的能力。它会结合应用开发和运行的需求持续演进,包括但不限于引入分布式开发范式、并行和并发能力增强、类型系统增强等方面的语言特性 。它是HarmonyOS优选的主力应用开发语言ArkTS声明......
  • 掌握HarmonyOS框架的ArkTs如何管理和共享状态数据
    本文分享自华为云社区《深入理解ArkTs中的AppStorage和LocalStorage》,作者:柠檬味拥抱。ARKTS(ArkTypeScript)是HarmonyOS应用框架的一部分,提供了一种灵活而强大的状态管理机制。在ARKTS中,AppStorage和LocalStorage是两个关键的概念,它们分别用于应用级和页面级的状态共享。通过深......
  • 【HarmonyOS】Mac电脑打开DevEco Studio意外退出或双击图标没反应
    ​【关键字】Mac,DevEcoStudio  【问题背景】Mac电脑打开DevEcoStudio报意外退出,或者双击图标没反应​​ 【解决方案】删除Users/{USER_NAME}/Library/LaunchAgents/jetbrains.vmoptions.plist文件后重启Mac 【相关链接参考】https://developer.huawei.com/consu......
  • 【HarmonyOS】模拟器一直停留在开机页面,无法进入桌面
    ​【关键字】 模拟器,qemu-error.log,Nosounddriver 【问题背景】模拟器一直停留在开机页面,无法进入桌面​​ 【解决方案】qemu-error.log中有以下报错​检查立体声混音是否打开,或者重新安装以下音卡驱动​​......
  • 四、HarmonyOS 基础语法
    1.变量ets是ts语法发扩展1.1组件外部声明变量/***author:创客未来*copyright:com.ckFuture.hrb*///ets是ts语法的扩展//声明变量并赋值:初始化letpome:string='我是字符串'//声明变量,未赋值letage:numberage=18@Entry@ComponentstructInd......
  • HarmonyOS 开发入门(二)
    HarmonyOS开发入门(二)日常逼逼叨在HarmonyOS开发入门(一)中我们描述了HarmonyOS开发的语言ArKTs以及Ts简单的入门级语法操作,接下来我们进入第二部分HarmonyOS开发编辑器以及helloWorld项目创建,有任何说的不合理的地方,希望各位看官老爷批评指正......
  • HarmonyOS ArkUI基础组件
    @Entry@ComponentstructImageoage{@StateimageWidth:number=150build(){Row(){Column({space:20}){Image('https://pic.cnblogs.com/avatar/3168103/20231128174220.png').width(this.imageWidth).in......
  • HarmonyOS传感器开发指南
    HarmonyOS传感器开发指南HarmonyOS系统传感器是应用访问底层硬件传感器的一种设备抽象概念。开发者根据传感器提供的Sensor接口,可以查询设备上的传感器,订阅传感器数据,并根据传感器数据定制相应的算法开发各类应用,比如指南针、运动健康、游戏等。传感器类型描述说明主要用途ACCELERO......