一、概述
首先我們來看看構造這個媒體播放器要達到什麼樣的目標,確定了目標也就確定了代碼量和程式的複雜程度。本文的媒體播放器要達到如下目標:
媒體播放器是一個菜單驅動的簡單AWT應用。
媒體播放器包含一個“檔案”菜單,檔案菜單包含三個功能表項目:
“開啟”,用來開啟媒體檔案。
“迴圈”,是播放一次(預設),還是重複播放。
“退出”,退出程式。
媒體播放器可以在多種平台上運行。
媒體播放器的核心功能通過JMF(Java Media Framework)API實現。JMF擴充了J2SE平台的多媒體能力,允許Java應用和Applet截取、回放、轉換包括音頻和視頻在內的多種媒體。JMF支援多種媒體格式,具體請參見Supported Media Formats and Capture Devices。
二、初步設計
我們把這個媒體播放器的設計分成兩個部分:GUI設計,虛擬碼設計。在GUI設計中,我們要瞭解構成程式的各個GUI組件。在虛擬碼設計中,我們用自然語言寫出程式運行原理。
2.1 GUI設計
媒體播放器的使用者介面包含一個主視窗、一個菜單和一個開啟檔案的對話方塊。首先我們來看看主視窗的設計。主視窗應該把視窗標題顯示為“媒體播放器1.0”,顯示“檔案”菜單,顯示彩色背景的“歡迎”資訊。圖一顯示了程式剛啟動時的主視窗。
圖一:媒體播放器的主視窗
“檔案”菜單包含三個功能表項目。“開啟”菜單顯示一個對話方塊,用來選擇媒體檔案的位置。“迴圈”菜單決定媒體檔案只播放一次(預設)還是反覆播放(當菜單被選中)。最後,“退出”菜單關閉程式。另外,點擊主視窗右上方的關閉按鈕也可以關閉程式。請參見圖二。
圖二:“檔案”菜單
點擊“檔案/開啟”菜單時,“開啟媒體檔案”對話方塊出現。選中媒體檔案之後,點擊“開啟”按鈕即可開啟媒體檔案;點擊“取消”按鈕中止檔案開啟操作。如圖三所示。
圖三:“開啟媒體檔案”對話方塊
除了上面提到的組件之外,媒體播放器還包含一個視覺組件、一個控制台組件。視覺組件順序播放媒體檔案包含的各幀映像;控制台組件允許使用者暫停、開始媒體檔案的回放,或進行其他控制操作,例如查看媒體檔案資訊。