• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    桌面卡通音樂播放器的設(shè)計(jì)與實(shí)現(xiàn)

    2017-05-10 19:23:43周雨彤
    電子技術(shù)與軟件工程 2017年8期
    關(guān)鍵詞:播放器設(shè)計(jì)

    周雨彤

    摘 要

    計(jì)算機(jī)上的音樂播放軟件,可以方便的滿足人們對于音樂播放的各種功能。同時,桌面小精靈程良好的人機(jī)交互體驗(yàn),得到了很多用戶的肯定和青睞。本文設(shè)計(jì)一款基于桌面小精靈的音樂播放軟件,結(jié)合音樂播放器和桌面小精靈程序的優(yōu)點(diǎn),最大限度地滿足人們對于音樂休閑的多樣性和便利性。

    【關(guān)鍵詞】音樂播放軟件 播放器 設(shè)計(jì)

    1 系統(tǒng)功能模塊設(shè)計(jì)

    本軟件實(shí)現(xiàn)如下能模塊,桌面小精靈模塊,音樂播放器模塊和托盤模塊。

    桌面小精靈功能模塊實(shí)現(xiàn)一個能在桌面跑動的動態(tài)卡通形象,使桌面小精靈能夠被用戶挪到想要的地方,拖拽時,桌面小精靈動畫不能停止,拖拽不帶重影。

    音樂播放器功能模塊包括音樂播放和音樂列表兩個子模塊:

    音樂播放子模塊需要實(shí)現(xiàn)以下功能:播放,暫停,停止,音量調(diào)節(jié),播放進(jìn)度調(diào)整。

    音樂列表子模塊實(shí)現(xiàn):建立音樂列表,能正常取出上一首和下一首音樂開始播放,若到達(dá)列表頭尾,則循環(huán)轉(zhuǎn)到尾頭開始播放。顯示和儲存分離,音樂列表對話框能隱藏,移動時跟隨小精靈。音樂列表接受文件拖拽,雙擊條目則可以播放該條目的音樂。

    托盤功能模塊實(shí)現(xiàn):托盤圖標(biāo)可以顯示托盤消息,雙擊托盤圖標(biāo)能夠顯示已隱藏的桌面小精靈。右鍵托盤圖標(biāo)能夠彈出菜單。并且,桌面小精靈應(yīng)該始終在最前,以保障用戶能夠隨時使用。

    2 系統(tǒng)功能具體實(shí)現(xiàn)

    2.1 桌面精靈的實(shí)現(xiàn)原理和步驟

    實(shí)現(xiàn)桌面精靈的步驟如下:

    (1)獲取桌面窗口句柄:DeskDC= GetDC(GetDesktopWindow());

    (2)創(chuàng)建一個內(nèi)存位圖,將桌面精靈的卡通形象存入到此位圖中,為此,可以封裝一個方法:

    Void MainDlg::SavebackElfin(BKCanvas TCanvas){//內(nèi)存位圖中的畫布對象

    w:integer; //畫布對象的寬度

    h:integer;//畫布對象的高度

    x:integer;//保存的x坐標(biāo)

    y:integer;}//保存的y坐標(biāo)

    (3)將卡通精靈拷貝到桌面的繪圖區(qū)域;

    (4)將第二步生成的內(nèi)存位圖拷貝到桌面位置,完成一幀動畫的顯示。循環(huán)實(shí)現(xiàn)1-4步,實(shí)現(xiàn)桌面小精靈的連續(xù)移動畫面。

    2.2 音樂播放器功能模塊的實(shí)現(xiàn)

    音樂播放可以使用很多技術(shù),如playsound,MCI,DirectX等,本文采用了功能強(qiáng)大且易用的MCI( Media Control Interface)媒體控制接口。MCI是向基于Windows操作系統(tǒng)的應(yīng)用程序,它提供了高層次的控制媒體設(shè)備接口的能力。本文實(shí)現(xiàn)的CDeskMP3類對MCI的音樂播放功能進(jìn)行了封裝,實(shí)現(xiàn)了音樂播放器所需的各種功能。

    class CDeskMp3

    {

    public:

    CDeskMp3();

    CDeskMp3(CString path);

    void LoadMp3(CString path);

    void Play();

    void Play(int start);

    void Play(int start,int end);

    void PlayLoop();

    void Pause();

    void Stop();

    void Replay();

    void Close();

    void SetVolume(int vol);

    int GetPresentPos();

    int GetMusicLength();

    private:

    DWORD dwReturn;

    DWORD m_dwLength;

    MCIDEVICEID m_deviceId;

    bool isopened;

    UINT flag;

    };

    2.3 托盤功能模塊的實(shí)現(xiàn)

    托盤功能實(shí)現(xiàn)具體如下:托盤圖標(biāo)在主窗口中創(chuàng)建,使用托盤結(jié)構(gòu)體NOTIFYICONDATA 來創(chuàng)建對象nid;加入托盤時定義好托盤屬性:標(biāo)志位,消息名稱;加載圖標(biāo)以及托盤名,用Shell_NotifyIcon函數(shù)把托盤加入托盤區(qū);同時在托盤釋放的時候需要將托盤從托盤區(qū)刪除。

    void CYourLandDlg::AddTray()

    {

    nid.cbSize=(DWORD)sizeof(NOTIFYICONDATA);

    nid.hWnd=this->m_hWnd;

    nid.uID=IDR_MAINFRAME;

    nid.uFlags=NIF_ICON|NIF_MESSAGE|NIF_TIP ;

    nid.uCallbackMessage = WM_SHOWTASK;

    nid.hIcon=LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_MAINFRAME));

    tcscpy(nid.szTip, TEXT("我是一個托盤圖標(biāo)"));

    Shell_NotifyIcon(NIM_ADD,&nid);

    }

    3 結(jié)束語

    本文主要實(shí)現(xiàn)了一個基于桌面精靈的桌面卡通音樂播放器,將桌面精靈活潑可愛的特點(diǎn)融入音樂播放器中,使得用戶在使用音樂播放器播放音樂時更加方便并且休閑放松。

    參考文獻(xiàn)

    [1]綠色.活靈活現(xiàn)的桌面精靈[J].少年電腦世界,2010(02):41-42.

    [2]王秀梅.Delphi制作升級精靈程序[J].黑龍江科技信息,2010(18):7-67.

    [3]周淑華.多媒體播放器通用算法設(shè)計(jì)與實(shí)現(xiàn)[J].電腦編程技巧與維護(hù),2016(21):93-94.

    [4]陳忠.在Visual C++中使用托盤圖標(biāo)功能編寫計(jì)算機(jī)定時關(guān)機(jī)程序[J].電腦編程技巧與維護(hù),2003(08):84-85.

    猜你喜歡
    播放器設(shè)計(jì)
    何為設(shè)計(jì)的守護(hù)之道?
    《豐收的喜悅展示設(shè)計(jì)》
    流行色(2020年1期)2020-04-28 11:16:38
    Walkman誕生40周年 索尼適時發(fā)布NW-ZX500和NW-A100系列播放器
    基于STM32的MP3播放器設(shè)計(jì)
    電子制作(2019年9期)2019-05-30 09:41:44
    基于Kinect的PPT播放器的設(shè)計(jì)
    Moon ACE播放器/放大器一體機(jī)
    瞞天過?!律O(shè)計(jì)萌到家
    設(shè)計(jì)秀
    海峽姐妹(2017年7期)2017-07-31 19:08:17
    有種設(shè)計(jì)叫而專
    Coco薇(2017年5期)2017-06-05 08:53:16
    播放器背板注塑模具設(shè)計(jì)
    中國塑料(2015年8期)2015-10-14 01:10:55
    常熟市| 阿瓦提县| 万山特区| 松阳县| 奎屯市| 江山市| 安顺市| 海盐县| 攀枝花市| 米泉市| 巴林左旗| 临西县| 文成县| 四子王旗| 衡山县| 富宁县| 海淀区| 吉林省| 绥棱县| 将乐县| 洛阳市| 雅安市| 砚山县| 晋宁县| 丹巴县| 禄丰县| 尖扎县| 江城| 保山市| 灵璧县| 鄂尔多斯市| 常德市| 龙川县| 新丰县| 西平县| 渑池县| 惠州市| 盐边县| 兰溪市| 衡阳县| 长汀县|