【正文】
t I? But inside I39。 and then a turtle and a hedgehog that turned into armadillos for the love of God, Montressor. He said, Why didn39。 that39。t be sick if only there weren39。t want to be looked at, doesn39。 when he was there, there wasn39。 did he tell you that? On= Earth. On a plantation in Brazil, way up the Amazon Dr. Island told me. I thought it was crowded on Earth. The cities are crowded, and the countryside closes to the cities. But there are places where it39。s probably given up by now. The girl nodded, looking into the dark waters of they pool, but did not seem to have heard him. He began to work his way around to her, climbing across the snakelike roots of the crowding trees. Why does Ignacio want to kill me, Diane? Sometimes he wants to kill me, too, the girl said. But why? I think he39。t think I said anything. He tested the dark water with his foot and found that it was very cold. You gave a little gasp, I fancy. I heard it, and I said to myself, that39。 she looked up as she saw him, and smiled. Hello, he said. Hello, Nicholas. I thought I heard you. I wasn39。 he heard her nose cartilage break with a distinct, rubbery snap. Her eyes, as blue as the sky above Madhya Pradesh, the sparkling blue sky of the egg, looked up at him, but he could no longer look into them, they retreated from his own, and it came to him quite suddenly that Lucifer, in falling, must have fallen up, into the fires and the coldness of space, never again to see the warm blues and browns and greens of Earth: 1 was watching Satan fall as lightning from heaven. He had heard that on tape somewhere, but he could not remember where. He had read that on Earth lightning did not e down from the clouds, but leaped up from the plaary surface toward them, never to return. Nicholas. He listened, but did not hear his name again. Faintly water was babbling。 he had several times seen coconuts lying in the sand under the trees. He moved quietly, still a little afraid, trying to think of ways to open the coconut when he found it. He imagined himself standing before a large and raggedly faceted stone, holding th e coconut in both hands. He raised it and smashed it down, but when it struck it was no longer a coconut but Maya39。 but his stomach revolted at the thought of the raw flesh, and he did not know how he might build a fire, although Ignacio seemed to have done so the night before. Raw fish, even if he were able to catch a fish, would be as bad, or worse, than raw monkey。 fore and knew on which side of hunger he stood。s over, expecting Dr. Island to answer from somewhere。s long, prehuman day. For a time he listened for any sound Ignacio might make searching for him。 out of breath, the thumping of his own heart the only39。s thumbnailshowing like spectators who lined the railings of his lips. Don39。 if I pursue you I will not catch you, and if I catch youthrough your own slowness and clumsinessI will not kill you, and if I kill you I will not eat you. Nicholas had begun to back away, and at the last。 [11](美) Eric J. Braude: Software Design:《 From Programming to Architecture》,電子工業(yè)出版社, 2020 年 3 月。 [9]辛長(zhǎng)安,梅林:《 VC++編程技術(shù)與難點(diǎn)剖析》,清華大學(xué)出版社, 2020 年 4 月第 1 版。 [7](美) Jeff Prosise(王鐵,徐雅驥,童霞,劉宇譯):《 Programming 》,清華大學(xué)出版社, 2020 年 4 月第 1 版,第 78- 123 頁(yè)。 [5](美) Microsoft 公司(希望圖書(shū)創(chuàng)作室譯):《 Microsoft Visual C++ MFC Library Reference,Part 1,》,北京希望電子 出版社, 1999 年 4 月第 1 版,第 100- 147 頁(yè)。 [3] 周長(zhǎng)發(fā):《 Visual C++.NET 多媒體編程》,電子工業(yè)出版社, 2020 年 6 月第 1 版。 參考文獻(xiàn) [1] 精英科技:《視頻壓縮與音頻解碼技術(shù)》,中國(guó)電力出版社, 2020 年 8 月第 1 版。有些更只是想想,但是沒(méi)有實(shí)現(xiàn)。在設(shè)計(jì)的過(guò)程中,時(shí)常會(huì)碰到問(wèn)題,往往都是解決完一個(gè),同時(shí)又會(huì)冒出很多,單單只靠書(shū)上查上沒(méi)有用的,而且有時(shí)候,雖然網(wǎng)絡(luò)資源豐富,但是搜索水平不夠,也不能找到有效的解決辦法,這種時(shí)候,向同學(xué)老師請(qǐng)教,就會(huì)讓自己受益很多。但是畢竟只是一個(gè)人開(kāi)發(fā),且技術(shù)知識(shí)不夠,當(dāng)然不能跟專(zhuān)業(yè)的媒體播放器(比如 winamp, windows media player 等)相比,本軟件還可以繼續(xù)開(kāi)發(fā),比如實(shí)現(xiàn) CD 抓軌,全屏視頻播放等。 雖然看起來(lái)成果不錯(cuò),但是一路走過(guò)來(lái),也發(fā)現(xiàn)了自己還有很多不足。 八、 結(jié)束語(yǔ) 通過(guò)對(duì)整個(gè)媒體播放器軟件的設(shè)計(jì),我不僅對(duì)播放器的開(kāi)發(fā)了有一定的了解,也認(rèn)識(shí)了平常不常接觸到的媒體類(lèi)型及其發(fā)展,使我的編程能力了有了很大的提高。本軟件簡(jiǎn)單小巧,占很少空間。 } 3)窗口總在最上 :void CMediaDlg::OnWTop() 六、 軟件設(shè)計(jì)結(jié)果 主界面 圖 61 播放主界面(不帶播放列表) 圖 62 播放主界面(帶列表) 圖 63 視頻播放 打開(kāi)文件 圖 64 文件打開(kāi)界面 列表控制 圖 65 列表控制界面 菜單控制 圖 66 菜單控制界面 七、 軟件評(píng)價(jià) 軟件的 特點(diǎn) 經(jīng)過(guò)長(zhǎng)期的調(diào)試和改正,軟件基本可以正常運(yùn)行,基本實(shí)現(xiàn)了預(yù)實(shí)現(xiàn)功能。 菜單按紐: void CMediaDlg::OnMenu() 2)音量控制是調(diào)用系統(tǒng)自帶的音量控制程序。 對(duì)列表控制 1) 添加文件: CButtonST, IDC_ADD, m_add 此函數(shù)同上述打開(kāi)文件 ONADD()。 打開(kāi)文件 ,添加列表 打開(kāi)添加文件的程序主要寫(xiě)在按紐的 BN_CLICKED 消息函數(shù)里面。 先設(shè)置基本界面的圖形,如下: 圖 5- 2 主界面的圖 在主對(duì)話框的類(lèi)定義中聲明: private: void InitMPlayerFace()。 2. CMySliderControl 類(lèi):詳細(xì)說(shuō)明請(qǐng)見(jiàn)程序。設(shè)置如下: 1. 添加文件: CButtonST, IDC_ADD, m_add 2. 刪除當(dāng)前所選項(xiàng): CButtonST, IDC_DEL, m_del 3. 刪除全部: CButtonST, IDC_DELALL, m_delall 4. 列表中的雙 擊播放: LIST BOX 本 身的 LBN_DBLCLK 消 息函數(shù)OnDblclkList() 5. 列表的隱藏彈出: CButtonST, IDC_HIDLIST, m_hid 菜單設(shè)置 除去上述菜單控制之外,菜單中還包括音量控制,窗口總在最上。播放控制也可在菜單中進(jìn)行控制。 打開(kāi)文件,添加列 表 打開(kāi)文件有兩種方法,一是通過(guò)主面板上打開(kāi)按紐,二是通過(guò)菜單中文件的子菜單――打開(kāi)文件。 基本界面設(shè)置 在基本界面確定后,添加各類(lèi)控件,如圖所示: 將 Button定義為自定義 CButtonST按紐類(lèi)的對(duì)象 ,進(jìn)度滑條定義為自定義的CMySliderControl 類(lèi)的對(duì)象,時(shí)間顯示靜態(tài)文本定義為自定義的CMatrixStatic。 五、 軟件開(kāi)發(fā)與設(shè)計(jì) 程序設(shè)計(jì)的基本思想 最初運(yùn)用 MFC,建立對(duì)話框?yàn)榛究蚣堋? 綜上所述,使用系統(tǒng)自帶的 MCI 命令接口來(lái)編程的方法是比較理想的選擇。 ( 2)第二種方法是使用系統(tǒng)自帶的 MCI 命令接口。 以下是本程序的方案論證: 本程序的開(kāi)發(fā)用的是 VC++的 MFC 集成開(kāi)發(fā)環(huán)境,開(kāi)發(fā)本程序的方案大概有如下二種: 利用 VC 開(kāi)發(fā)環(huán)境提供的 ActiveX 控件―― ActiveMovieControl Object 利用系統(tǒng)自帶的 MCI 命令接口來(lái)編程。 可行性研究 要開(kāi)發(fā)一個(gè)軟件程序,其方案十分重要。 四、 軟件需求分析 需求分析 隨著計(jì)算機(jī)技術(shù)的發(fā)展和網(wǎng)絡(luò)的普及,多媒體素材類(lèi)型越來(lái)越多,包括音頻、視頻、圖像、動(dòng)畫(huà)等,由于音視頻、圖像等的信息容量大,受硬件條件限制,以往多媒體應(yīng)用并不廣泛,隨著硬件技術(shù)的不斷提高,多媒體技術(shù)已為各類(lèi)人員廣泛使用,開(kāi)發(fā)多媒體課件、網(wǎng)絡(luò)課程、網(wǎng)站、應(yīng)用軟件、管理項(xiàng)目等均需利用多媒體素材。 mciSendString 用于向 MCI 設(shè)備 發(fā)送命令字符串,其函數(shù)原型如下: MCIERROR mciSendString( LPCTSTR lpszCommand, //指向一個(gè)以 NULL 結(jié)尾的 MCI 命令字符串,格//式如下: device_name argument LPTSTR lpszReturnString, //指向一個(gè)用于存儲(chǔ) MCI命令執(zhí)行后返回的//字符串信息的緩沖區(qū) UINT cchReturn, //緩沖區(qū)大小 HANDLE hwndCallback //指定一個(gè)接受 MM_MCINOTIFY 的窗口句柄,除//非 MCI命令中包含了 notify標(biāo)志,否則該參數(shù)可忽略。 表 35 MCI_SYSINFO 命令消息標(biāo)志 消息標(biāo)志 意義 MCI_SYSINFO_QUANTITY 返回指定的設(shè)備類(lèi)型的數(shù)目,如