使用 Qt 如何控制 Symbian Device 震動(dòng)
概述
標(biāo)準(zhǔn)Qt API并沒(méi)有為我們提供控制Symbian設(shè)備震動(dòng)的接口,包括現(xiàn)在的Qt Mobility 1.0.2,以及將來(lái)的Qt Mobility 1.1也都沒(méi)有為我們提供相應(yīng)的接口。
那么本文將為大家提供一個(gè)非常簡(jiǎn)單實(shí)用的Qt API,來(lái)控制Symbian設(shè)備震動(dòng)。所有源碼以及例程都可以通過(guò)本文末尾所附鏈接下載。本例程大部分源碼得益于Mobile Extensions for Qt for Symbian,以及Liuxg的指導(dǎo),在此表示感謝。
下面就具體為大家講解如何使用這個(gè)API。
將API源碼加入工程
首先,解壓附件VibraFN.zip 得到VibraFN文件夾,然后將VibraFN文件夾里的VibraX文件夾整體拷貝到當(dāng)前Qt工程的根目錄。然后修改pro文件,將API源碼添加進(jìn)去:
- SOURCES += VibraX\xqvibra.cpp \
- VibraX\xqvibra_p.cpp HEADERS += VibraX\xqvibra.h \
- VibraX\xqvibra_p.h
加入庫(kù)文件
由于API中使用到了Symbian的庫(kù),所以我們還有在pro文件中加入:
LIBS += -lhwrmvibraclient在代碼中使用vibra API
做好了前期準(zhǔn)備工作,我們下面就可以在代碼中使用這個(gè)API來(lái)控制設(shè)備的震動(dòng)了。首先在需要使用的地方引入API頭文件
#include "xqvibra.h"然后創(chuàng)建一個(gè)XQVibra的對(duì)象。例如:
XQVibra m_vibra;然后就可以使用它了,使用是非常直觀和方便的,例如:
- m_vibra.start(ui->sliderDuration->value() * 100); //開(kāi)始震動(dòng),參數(shù)為int型,代表持續(xù)時(shí)間,單位為毫秒
- m_vibra.stop(); //停止震動(dòng)m_vibra.setIntensity(int); //設(shè)置震動(dòng)強(qiáng)度,范圍為-100 ~ +100并且m_vibra在狀態(tài)發(fā)生改變的時(shí)候會(huì)發(fā)送信號(hào):
void statusChanged(XQVibra::Status status);共有三種狀態(tài),分別是:StatusNotAllowed, StatusOff, StatusOn。
測(cè)試設(shè)備
本代碼已通過(guò)在N97和N8上的測(cè)試。
同時(shí)測(cè)試還表明N8震動(dòng)的靈敏度要優(yōu)于N97。
下面是程序在N8上運(yùn)行時(shí)的截圖:

小結(jié):使用 Qt 如何控制 Symbian Device 震動(dòng)介紹完了,本章提供的代碼地址:http://www.developer.nokia.com/Community/Wiki/images/8/8a/VibraFN.zip?20100904163216


















