使用 Qt 如何控制 Symbian Device 震動
概述
標準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源碼添加進去:
- 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上運行時的截圖:
小結:使用 Qt 如何控制 Symbian Device 震動介紹完了,本章提供的代碼地址:http://www.developer.nokia.com/Community/Wiki/images/8/8a/VibraFN.zip?20100904163216