<dfn id="is4kg"></dfn>
  • <ul id="is4kg"></ul>
  • <abbr id="is4kg"></abbr>
  • <ul id="is4kg"></ul>
    <bdo id="is4kg"></bdo>

    曙海教育集團(tuán)論壇3G手機(jī)技術(shù)專區(qū)Windows Mobile手機(jī)開發(fā) → Moblie PPC下音效播放和手機(jī)振動(dòng)的實(shí)現(xiàn)


      共有5931人關(guān)注過本帖樹形打印

    主題:Moblie PPC下音效播放和手機(jī)振動(dòng)的實(shí)現(xiàn)

    美女呀,離線,留言給我吧!
    wangxinxin
      1樓 個(gè)性首頁 | 博客 | 信息 | 搜索 | 郵箱 | 主頁 | UC


    加好友 發(fā)短信
    等級(jí):青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊:2010-11-12 11:08:23
    Moblie PPC下音效播放和手機(jī)振動(dòng)的實(shí)現(xiàn)  發(fā)帖心情 Post By:2010-12-4 10:28:04

    Moblie PPC下音效播放和手機(jī)振動(dòng)的實(shí)現(xiàn)
    1、  音效播放:

    1、Win CE平臺(tái)下內(nèi)部API直接支持.WAV文件的播放 此函數(shù)如下:

    BOOL sndPlaySound(LPCTSTR lpszSoundName,UINT fuSound); 第一個(gè)參數(shù)是要播放的WAV文件路徑

    第二個(gè)參數(shù)是播放模式 支持同步,異步播放和循環(huán)播放 ,不支持暫停播放

    具體介紹參考MSDN;

    結(jié)束播放直接調(diào)用   sndPlaySound(NULL,NULL)。

    頭文件: #include “Mmsystem.h.”

    連接庫文件:#pragma comment( lib, "Coredll.lib" ) 。

    備注:經(jīng)測試在mobile PPC下 此API可以播放4M左右大小的文件完全可以勝任各種音效和背景音樂的實(shí)現(xiàn),

    如果媒體文件不是.wav可以找相關(guān)工具進(jìn)行格式轉(zhuǎn)換。.mp3文件的播放在mobile下不能直接支持需

    要解碼后播放,這個(gè)是比較復(fù)雜,我抽時(shí)間研究明白再說。



    2、手機(jī)震動(dòng)實(shí)現(xiàn):



    PPC和SmartPhone對此功能的支持方式是不一樣的。

    在SmartPhone下使用API: Vibrate 和 VibrateStop (函數(shù)介紹參考MSDN)

    例如:

    Vibrate(0, NULL, TRUE, INFINITE);
    ::Sleep(2000);
    VibrateStop();

    頭文件: #include “vibrate.h“
    連接庫文件:#pragma comment( lib, " aygshell.lib" ) 。



    在PPC下使用API:NLedGetDeviceInfo 和 NLedSetDevice (函數(shù)介紹參考MSDN)

    例如:(此代碼在VS2005下通過功能測試并在項(xiàng)目中得到應(yīng)用,直接復(fù)制以下代碼并包含相關(guān)頭文件即可運(yùn)行)

    NLED_COUNT_INFO nci;

        NLedGetDeviceInfo(NLED_COUNT_INFO_ID,(PVOID)&nci);

        if(nci.cLeds > 1)        //如果系統(tǒng)中LED個(gè)數(shù)大于1

        {

           NLED_SETTINGS_INFO nsi;

           nsi.LedNum = 1;      //LED號(hào),第一個(gè)為0,一般情況下震動(dòng)設(shè)備為1.

           nsi.OffOnBlink = 1; //設(shè)置LED狀態(tài)為開

           (void)NLedSetDevice(NLED_SETTINGS_INFO_ID, &nsi);

           Sleep(1000);

           nsi.LedNum = 1;

           nsi.OffOnBlink = 0; //設(shè)置LED狀態(tài)為關(guān)

           (void)NLedSetDevice(NLED_SETTINGS_INFO_ID, &nsi);

        }

    頭文件:#include “Nled.h” , #include “Pwinuser.h”

    備注:

    一般PPC系統(tǒng)會(huì)把震動(dòng)設(shè)備做成LED,程序通過設(shè)置LED的狀態(tài)來啟動(dòng)震動(dòng)設(shè)備。

    當(dāng)打開震動(dòng)設(shè)備后應(yīng)當(dāng)做延遲處理后關(guān)閉設(shè)備,否則會(huì)一直震動(dòng)的。

    支持(0中立(0反對(0單帖管理 | 引用 | 回復(fù) 回到頂部

    返回版面帖子列表

    Moblie PPC下音效播放和手機(jī)振動(dòng)的實(shí)現(xiàn)








    簽名