【正文】
t admit even to himself that there were some things other people could do better. If you kept beating him at anything you had to be cheating. He started a nasty argument over it one nightcould have gotten seriousbut Gerard and Caine broke it up. G ive Caine that. He took my part that time. Poor guy . . . Hell of a way to go, you know? His throat . . . Well, anyhow, there I was in Texorami, making music and women, winning at cards and jockeying around the sky. Palm trees and nightblooming wallflowers. Lots of good port smellsspices, coffee, tar, saltyou know. Gentlefolk, merchants, and peons the same straights as in most other places. Sailors and assorted travelers passing in and out. Guys like me living around the edges of things. I spent a little over two years in Texorami, happy. Really. Not much contact with the others. Sort of postcar d like hellos via the Trumps every now and then, and that was about it. Amber was pretty much off my mind. All this changed one night when I was sitting there with a full house and the guy across from me was trying to make up his mind whether or not I was bluffing. The Jack of Diamonds began talking to me. Yes, that is how it started. I was in a weird frame of mind anyway. I had just finished a couple very hot sets and was still kind of high. A lso, I was physically strung out from a long day39。m good and I39。s about the only thing I wouldn39。t wait. And the air currents were fabulous. I had a little red sail plane I used to go sky surfing in, every couple of days. It was the good life. I played drums till all hours in a basement spot up the river where the walls sweated almost as much as the customers and the smoke used to wash around the lights like streams of milk. When I was done playing I39。 除非另有科研合同和其他法律文書的制約,本論文的科研成果屬于成都信息工程學(xué)院。 ( 4)學(xué)??稍试S學(xué)位論文被查閱或借閱。 ( 2)學(xué)??梢圆捎糜坝 ⒖s印或其他復(fù)制方式保存學(xué)位論文。 第 24 頁(yè) 共 25 頁(yè) 致 謝 本文是在陳運(yùn)老師的熱情關(guān)心和指導(dǎo)下完成的,她淵博的知識(shí)和嚴(yán)謹(jǐn)?shù)闹螌W(xué)作風(fēng)使我受益匪淺,對(duì)順利完成本課題起到了極大的作用。 [6] 羅斌 .Visual C .NET[M].北京:中國(guó)水利水電出版社 ,2021。 [4] 吳財(cái)軍 .C經(jīng)典范例 50講 [M].北京:北京希望電子出版社 ,2021。 [2] 鄭宇軍 .C [M].北京:清華大學(xué)出版社 ,2021。 但是播放器軟件也存在許多缺陷,一是界面不美觀,需 要改善,二是對(duì) CPU 資源占用少的優(yōu)勢(shì)沒有體現(xiàn)出來,還需要進(jìn)行改良。還可支持多種播放模式,如順序播放,單曲循環(huán),全部循環(huán),隨機(jī)播放等。支持音量調(diào)節(jié),快進(jìn)、快退的播放控制。雖然對(duì)硬 件要求更高,但是目前的主流硬件配置已經(jīng)遠(yuǎn)遠(yuǎn)高出播放器軟件對(duì)硬件的要求。接著從對(duì)多語種音頻視頻播放器的開發(fā)到測(cè)試,再將自主開發(fā)的播放器和目前流行的幾款播放器軟件進(jìn)行的比較和分析,發(fā)現(xiàn)自己開發(fā)的播放器占用資源雖然少,但功能不如目前流行的播放器那么強(qiáng)大,存在的漏洞數(shù)量也可能更多。 結(jié) 論 首先通過對(duì)各種音頻視頻文件編碼方式的研究,發(fā)現(xiàn)目前的音頻視頻文件超級(jí)解霸播放器 第 23 頁(yè) 共 25 頁(yè) 主要有 MP WMA、 AVI、 MPEG、 WMV, RM、 RMVB、 DIVX 等,其中音頻文件 MP3 以其良好的音質(zhì)和占用磁盤空間小 的優(yōu)點(diǎn),成為了發(fā)展的主流。 測(cè)試結(jié)果的總結(jié) 通過以上的測(cè)試,說明播放器能正常 播放 MP WMA、 AVI、 MPEG、 WMV、 RM、RMVB 等音頻視頻文件,還能支持中文、日文、英文的操作界面。通過以上的測(cè)試,可以看出播放器軟件可以實(shí)現(xiàn)中文,日文,英文之間的界面切換,和預(yù)想的結(jié)果一致。通過以上測(cè)試可以看出,播放器軟件可以識(shí)別 RM, RMVB, AVI, WMV,RMVB, RM 等格式的視頻格式文件,并且可以正常播放,證明了測(cè)試的結(jié)果是成功的。 視頻文件測(cè)試 圖五 WMV播放測(cè)試 WMV 格式 第 18 頁(yè) 共 25 頁(yè) 圖六 RM 播放測(cè)試 圖七 AVI 播放測(cè)試 RM 格式 AVI 格式 第 19 頁(yè) 共 25 頁(yè) 圖八 RMVB 播放測(cè)試 目前常見的視頻文件格式有 AVI, WMV, RMVB, RM, MPEG 等,而且RM, RMVB 和其他幾種格式的視頻文件編碼方式不同。 音頻文件播放測(cè)試 第 16 頁(yè) 共 25 頁(yè) 圖三 MP3 播放測(cè)試 圖四 WMA播放測(cè)試 MP3 格式 WMA 格式 第 17 頁(yè) 共 25 頁(yè) 目前流行的音頻格式文件為 MP WMA 等,因此選擇了這兩種格式的音頻文件進(jìn)行測(cè)試。 5 測(cè)試 測(cè)試前的分析 要測(cè)試本播放軟件,需要從功能入手。 break。 } case : index = ( + ()) % 。 else += 1。 break。 case : { if ( == 1) return。 case : 第 15 頁(yè) 共 25 頁(yè) = 。 public enum PlayMode { /// summary /// 單曲播放 /// /summary Single = 0, /// summary /// 單曲循環(huán)播放 /// /summary SingleLoop, /// summary /// 順序播放 /// /summary shunxu, /// summary /// 全部循 環(huán)播放 /// /summary AllLoop, /// summary /// 隨機(jī)播放 /// /summary Radom } Random rand = new Random() int index。 第 14 頁(yè) 共 25 頁(yè) 實(shí)現(xiàn)多種播放模式 自定義了一個(gè)枚舉類,里面有五種 情況,單曲播放, 單曲循環(huán)播放 , 順序播放 , 全部循環(huán)播放 , 隨機(jī)播放 。 Ename = ((.) + 1)。 /// summary ///擴(kuò)展名 /// /summary string Ename。 媒體文件類型的獲取 文件類型的獲取主要是指 文件擴(kuò)展名的獲取,因此采用了 Substring 方法。*.rm| Allfiles(*.*)|*.*。*.wmv。*.rmvb。*.wma視頻文件 視頻文件 (*.avi。 = 音頻文件 (*.mp3。 } = 0。 i 。 = Ename。 第 13 頁(yè) 共 25 頁(yè) Fname = 。 string[] Fname。 = true。 = true。接著先取得文件 名,再用 Substring 取得文件擴(kuò)展名,最后將文件名全部放入菜單控件。 Boolean EnableContextMenu:是否顯示右鍵菜單。 boolean ShowLogo:是否顯示 LOGO。 第 12 頁(yè) 共 25 頁(yè) short Volume:音量 , 0100。 boolean ShowPosition:是否顯示播放進(jìn)度條。 boolean autosize:視頻區(qū)域是否隨著播放窗口變化而改變尺寸。 boolean autostart:是否創(chuàng)建播放器后自動(dòng)播放 src 所指定的地址。 BSTR src: PStream 地址或者傳統(tǒng)流媒體地址 (mms, rtsp, 等 ), 本地文件地址等 . 支持 Real 和 Windows Media 所有格式。 返回值 : 1, 停止成功 。 返回值 : 1 播放成功 。函數(shù)。 boolean IsPsConnected():獲知播放器時(shí)候已經(jīng)連入了 PPStream 網(wǎng)絡(luò)。 long GetPlayDuration():獲得播放時(shí)長(zhǎng)。 boolean GetFullScreen():獲知當(dāng)前是否正在全屏幕播放 . void SetFullScreen(BOOL bFullScreen):設(shè)置是否全屏幕播放。 void GetTitleString(BSTR* pbstr):獲得當(dāng)前播放的視頻或者音頻的名稱。 當(dāng)前播放列表所包含媒體數(shù) [integer]。 通過屬性名設(shè)置媒體信息 :string。如“ 03:24” (const string)。 媒體總長(zhǎng)度 :string。 是否靜音 :integer。 音量, 0100 :Boolean。 下一曲 。 快進(jìn) 。 當(dāng)前進(jìn)度,字符串格式。 停止 :double。 播放 。 啟用 /禁 用右鍵菜單 fullScreen:boolean。 播放器界面模式,可為 Full, Mini, None, Invisible playState:integer。 Windows Media Player 控件接口屬性: N 開始 選擇界面語種 添加文件 rm, rmvb格式? 播放常見格式 播放 rm, rmvb格式 Y 播放 暫停 等操作 是否停止? N 結(jié)束 Y 第 10 頁(yè) 共 25 頁(yè) URL:String。( 的設(shè)計(jì)思路中已經(jīng)解釋了原因)。如果滿足停止條件,則程序正常終止。如單曲循環(huán)播放模式的下一個(gè)播放文件還是當(dāng)前文件,普通模式則是播放下一個(gè)文件,但是當(dāng)文件指針指到了最后一個(gè)文件時(shí),就應(yīng)該停止播放,而全部循環(huán)模式則應(yīng)播放列表中的第一個(gè)文件。而這個(gè)循環(huán)關(guān)系也不是一個(gè)簡(jiǎn)單的循環(huán),并不是單純的播放下一個(gè)多媒體文件。再在程序中對(duì)擴(kuò)展名進(jìn)行邏輯判斷,如果是常見格式的擴(kuò)展名,則將多媒體文件用 Windows Media Player 控件播放,其他情況就用 PPstream 控件播放。 而在程序設(shè)計(jì)時(shí),應(yīng)該將各種音頻視頻文件進(jìn)行分類,普通音頻視頻格式文件用 Windows Media Player 控件播放,其他特殊的格式,如 RM, RMVB 用PPstream 控件播放。因?yàn)?Windows Media Player 不支持 RM, RMVB 格式的視頻文件播放,想要播放 RM, RMVB 格式文件,必須有能支持 RM, RMVB 解碼的播放控件。 4 程序設(shè)計(jì) 基本設(shè)計(jì) 設(shè)計(jì)思路:為了播放多種格式的語音視頻播放器,選擇