本文将为大家提供一个非常简单实用的Qt API,来控制Symbian设备震动。标准Qt API并没有为我们提供控制Symbian设备震动的接口,包括现在的Qt Mobility 1.0.2,以及将来的Qt Mobility 1.1也都没有为我们提供相应的接口。

概述

标准Qt API并没有为我们提供控制Symbian设备震动的接口,包括现在的Qt Mobility 1.0.2,以及将来的Qt Mobility 1.1也都没有为我们提供相应的接口。

那么本文将为大家提供一个非常简单实用的Qt API,来控制Symbian设备震动。所有源码以及例程都可以通过本文末尾所附链接下载。本例程大部分源码得益于Mobile Extensions for Qt for Symbian,以及Liuxg的指导,在此表示感谢。

下面就具体为大家讲解如何使用这个API。

将API源码加入工程

首先,解压附件VibraFN.zip 得到VibraFN文件夹,然后将VibraFN文件夹里的VibraX文件夹整体拷贝到当前Qt工程的根目录。然后修改pro文件,将API源码添加进去:

  1. SOURCES+=VibraX\xqvibra.cpp\
  2. VibraX\xqvibra_p.cppHEADERS+=VibraX\xqvibra.h\
  3. VibraX\xqvibra_p.h

加入库文件

由于API中使用到了Symbian的库,所以我们还有在pro文件中加入:

LIBS += -lhwrmvibraclient在代码中使用vibra API

做好了前期准备工作,我们下面就可以在代码中使用这个API来控制设备的震动了。首先在需要使用的地方引入API头文件

#include "xqvibra.h"然后创建一个XQVibra的对象。例如:

XQVibra m_vibra;然后就可以使用它了,使用是非常直观和方便的,例如:

  1. m_vibra.start(ui->sliderDuration->value()*100);//开始震动,参数为int型,代表持续时间,单位为毫秒
  2. m_vibra.stop();//停止震动m_vibra.setIntensity(int);//设置震动强度,范围为-100~+100并且m_vibra在状态发生改变的时候会发送信号:

void statusChanged(XQVibra::Status status);共有三种状态,分别是:StatusNotAllowed, StatusOff, StatusOn。

测试设备

本代码已通过在N97和N8上的测试。

同时测试还表明N8震动的灵敏度要优于N97。

下面是程序在N8上运行时的截图:

使用 Qt 如何控制 Symbian Device 震动  第1张

小结:使用 Qt 如何控制 Symbian Device 震动介绍完了,本章提供的代码地址:http://www.developer.nokia.com/Community/Wiki/images/8/8a/VibraFN.zip?20100904163216

转载请说明出处
知优网 » 使用 Qt 如何控制 Symbian Device 震动

发表评论

您需要后才能发表评论