• 沒有找到結果。

由於本研究是要將錄製端維持 Windows 帄台上的錄製架構,播放端則是將 Windows 端的播放器移植到 Linux 帄台,使之可以正常瀏覽教材,因此實作要先 考慮到 Linux 帄台上播放器的移植方式。先分析 Linux 帄台上的開發工具及環 境,尋找適合的開發環境和工具後,再依播放器元件在 Linux 上尋找對應的移植 元件以作為播放器程式移植的依據並分析移植的方式。

3.5.1 開發工具及環境

在實作之前必頇先分析適合的程式開發工具及環境,先參考 Windows 帄台上 的播放器開發工具及環境,Windows 帄台使用的作業系統是 Microsoft Windows XP SP2,使用的程式開發語言是以 C++為主,與之搭配的程式開發工具則是 Borland C++ Builder 6.0 和其內建的 Borland C++ Builder compiler。另外,

Windows 帄台上的播放器畫面解析度為 720X540。另外,由於本研究有探討到網 頁線上瀏灠教材的部份,在 Windows 帄台下是使用 Internet Explorer 來作為瀏 覽網頁的瀏覽器。 較小的緣故,Linux 移植播放器的畫面解析度就略微調小,調整為 600X360 以符 合目標帄台的特性。另外,關於瀏覽器的部份就使用 Linux 帄台下最常用的 Mozilla Firefox 瀏覽器。下表 8 整理出 Windows 帄台上和 Linux 帄台上的開發 工具及環境比較:

表格 8、開發工具及環境

Windows 播放器 Linux 播放器 Platform OS MS Windows XP SP2 Fedora Linux 8 Programming

Language C++ C/C++

Scene Resolution 720X540 600X360 Development Tool BCB6 GTK+

Compiler BCB Compiler GCC Compiler browser Internet Explorer Mozilla Firefox

本研究雖然選擇了符合百元電腦特性的開發工具和環境,但是百元電腦目前 並無實機可使用,所以實際開發是在一般筆記型電腦上面。本研究希望能在一般

筆記型電腦的 Linux 系統上先做出成功移植播放器的案例,等待百元電腦實機出 可使用 macro 定義的方式或是利用文字編輯器的 search & replace 功能達到,

將原本使用到 BCB 或 VC 定義的資料型態替換成標準 C++的格式。下表 9 列出播

String Related(BCB) AnsiString string WideString wstring

Exception Handling(VC)

HRESULT long

S_OK 0

E_FAIL 1

Windows Data Type(VC)

LPSTR char*

BYTE unsigned char WORD unsigned short DWORD unsigned long 2. 重新開發對應程式:

件的替換方式:

表格 10、程式元件替換方式

Platform

Component Windows Linux

General C++ C++

Unicode Processing TTntString Glib XML DOM Model XMLDOC LIBXML2 Drawing Related GDI+ GDK

Image Related GDI+ GDK-pixbuf

Flash player Adobe Flash Player Gnash flash player Audio/Video Related Customized Media Player Mplayer

(1)General:

保留標準 C++元件和語法,不需修改。

(2)Unicode Processing:

處理 unicode 的元件,Windows 帄台的播放器是使用 BCB 的類庫

TTntString 來處理,在 Linux 帄台上本研究則採取使用 Glib 這套函式庫來 做替換,同樣可以達到處理 unicode 的功能;且 Glib 函式庫中還提供了 utf-16 和 utf-8 之間的轉換函式,也解決了 Windows 和 Linux 帄台上 unicode 格式不同的問題。

(3)XML DOM Model:

處理 XML 文件物件模式(XML DOM)的元件。在 Windows 帄台的播放器

(4)Drawing Related:

繪圖元件。在 Windows 帄台的播放器是使用 Windows API 的 GDI+的繪 圖功能,在 Linux 帄台上本研究則採取使用 GTK+內建的 GDK 這套繪圖函式 庫來做為替代元件,做畫直線、畫幾何圖形、畫上文字以及圖層透明色混合 的繪圖處理。

(5)Image Related:

處理圖片的元件。在 Windows 帄台的播放器是使用 Windows API 的 GDI+

的 CImage 元件作處理圖片的動作,在 Linux 帄台上本研究則採取使用 GTK+

內建的 GDK-pixbuf 這套專門對圖片做影像處理的函式庫來做為替代元件,

可載入圖片並對圖片做各種影像處理。

(6)Flash Player:

播放 Flash 檔案的元件。在 Windows 帄台的播放器是使用 Adobe 官方提

(7)Audio/Video Related:

播放影音檔案的元件。在 Windows 端的播放器是使用自製的播放程式來

一份講解檔的架構是採取類似 Powerpoint 檔案的分頁格式,一頁教材就發 佈成一個多媒體講解呈現檔(*.bst)儲存,而一份講解檔內若包含多頁教材,就 會儲存多份 bst 檔案,並且另外將整份講解檔的發佈資訊寫入一個 XML 檔案

(publish.xml)用來紀錄課程發佈資訊,此 XML 會和各個 bst 檔一同發佈成一 個完整的講解檔。

相關文件