×
Namespaces

Variants
Actions

用Qt控制Symbian Device震动

From Nokia Developer Wiki
Jump to: navigation, search
Article Metadata

代码示例
兼容于
平台:
Symbian

文章
zhouhl 在 04 Sep 2010 创建
最后由 hamishwillee 在 11 Oct 2012 编辑

Contents

概述

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

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

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


将API源码加入工程

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

SOURCES += VibraX\xqvibra.cpp \
VibraX\xqvibra_p.cpp
 
HEADERS += VibraX\xqvibra.h \
VibraX\xqvibra_p.h

加入库文件

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

    LIBS += -lhwrmvibraclient

在代码中使用vibra API

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

#include "xqvibra.h"

然后创建一个XQVibra的对象。例如:

XQVibra m_vibra;

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

m_vibra.start(ui->sliderDuration->value() * 100);  //开始震动,参数为int型,代表持续时间,单位为毫秒
m_vibra.stop(); //停止震动
m_vibra.setIntensity(int); //设置震动强度,范围为-100 ~ +100

并且m_vibra在状态发生改变的时候会发送信号:

void statusChanged(XQVibra::Status status);

共有三种状态,分别是:StatusNotAllowed, StatusOff, StatusOn。


测试设备

本代码已通过在N97和N8上的测试。
同时测试还表明N8震动的灵敏度要优于N97。
下面是程序在N8上运行时的截图:
Vibra.JPG


下载源码和例子程序

Media:VibraFN.zip

相关链接

This page was last modified on 11 October 2012, at 04:18.
242 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×