#E6E6E6 【VB】影音軟體 ExtraPlayer 第三版完成之隨寫 作者:吳文成

  過去三四天,我已經改版到 ExtraPlayer 3.0 版與 ExtraCut 2.4 版,手邊還有(可以朗讀繁體中文與混讀中英文的)ExtraSpeaker 2.8 版還沒有上線
,剩下安裝附件的說明介面有待處理,看看十月中旬我能不能專心寫一寫
。由於 ExtraCut 2.2 版支援剪輯與合併的多媒體類型,比 ExtraPlayer 2.8 版支援的還多,例如 OGG、AC3、AAC、DTS、MPA、MP1、MP2、 PCM 等等,而且 ExtraCut( 使用了 Helix DNA Producer 的編碼核心 )還能夠更有效地支援 RealMedia,如 RA、RM、RAM、RMV、RMA、RMVB 檔案的直接剪輯與合併,所以 ExtraPlayer 主要是延續著 ExtraCut 新支援的多媒體類型而改版的 。ExtraPlayer 新版提供直接合併、分割與裁剪以下的影音格式
:PCM、MP1、MPA、AC3、AAC、DTS、OGG、OGM,同時在 RealMedia File 的直接剪輯與合併方面,不再使用 RealProducer Basic 編碼核心,而改用 Helix DNA Producer,但是我並沒有提供完整版的 Helix DNA Producer,如果附上完整版,這將導致 ExtraPlayer 膨脹到將近 6 MB 左右,然而也因為沒有附上完整版的 Helix DNA Producer,所以 ExtraPlayer 對於 RealMedia 的轉檔仍然是採用舊版的 RealProducer Basic,使用舊版的轉檔編碼核心是個缺點,可是我也不願意因為 RealMedia 的轉檔而讓 ExtraPlayer 膨脹兩三倍。未來我有可能另外封裝完整版的 Helix DNA Producer 以讓使用者自由下載安裝,並且取代 RealProducer Basic 作為 RealMedia 的轉檔編碼核心。

[[img src=computer/ExtraPlayer1.gif height=379 width=346 align=left]]  剛剛談到轉檔功能
, ExtraPlayer 的新版支援把影片或音樂檔案轉檔為 MP4、AAC、OGG
,並且使用者可以設定音樂轉檔的品質,包括取樣頻率、位元率與聲道等等。但是我還沒有處理影片轉檔品質的問題,因為這個部分的複雜度很高,需要整合不同影片類型的細節屬性
,這要等我吸收日月精華之後再來解決!

  這次改版雖然表面看來有不少變動,可是我並沒有花費太多時間
,大部分的難題在設計 ExtraCut 2.2 版之時就已經處理過 。其實對我而言,ExtraCut 比 ExtraPlayer 更令我滿意,因為前者不觸碰轉檔的問題,專門處理多媒體檔案的直接剪輯與合併 ,ExtraCut 可以更稱職與快速地完成它的工作。而 ExtraPlayer 囊括太多不同類型的功能,它的內部迴路錯綜複雜,以致於有些細節還需要做「偵查」、「評估」與「修正」,雖然它很受歡迎,它是目前唯一包辦播放、轉檔、剪輯、合併、錄音與影像處理功能的綠色軟體,在多媒體總類 ExtraPlayer 已經有一定的等級以上,但是我卻希望 ExtraCut 也能夠受到使用者的喜歡 ,不至於因為 ExtraPlayer 的鋒芒而被遺忘。ExtraPlayer 是我第一個撰寫的中大型軟體,但是如果重新來過,我一定不會再選擇去寫這麼複雜的軟體了。像 ExtraCut( 特定類型的多媒體格式之直接剪輯與合併
或 ExtraSpeaker( 混讀中英文的語音朗讀 )這樣清楚的功能定位就很合適去設計 , 我以後打算寫的 ExtraMP3( MP3 的轉檔、剪輯、合併、調整音量與編輯標籤)也是類似的軟體,這類的軟體,專門解決某一個特定範圍的問題,所以,比較容易在框架內去開發。

   從收到的許多信件,大概瞭解大陸有不少網友在使用 ExtraPlayer,但是簡體版我只出到 2.6d 版,直到昨天我終於將簡體版改版到了 3.0 版,繁體版改成簡體版實際上有點麻煩,麻煩不在於繁簡體轉碼或是語系包的製作,而是主要在(繁體字符與簡體字符的)字串長度在標籤顯示上的排列混亂問題,然後,需要將繁體作業系統轉換成簡體作業系統,以測試最後的結果是否正確 。 有些問題牽涉到 Visual Basic 本身在字串方面的特殊設定(限制), 前一陣子在處理 ExtraSpeaker 的繁簡體字串轉換與辨識的時候,我也吃到了苦頭,看來過些時候,我需要用 C/C++ 來彌補一些 VB 的缺憾。使用 VB 來寫大型程式,是為了要節省編程的時間,可是一旦用它寫出一定規模的時候,要把整個程式再改成 C/C++ 就很累了,這基本上跟重新設計一套軟體的意思是一樣的,所以 VB 就只好一直用下去,只有在某些協同程式的部分再改用 C/C++ 來操刀。

[[img src=computer/ExtraMidi1.gif height=186 width=510 align=middle]]

  似乎有不少網友喜歡 ExtraPlayer 裡面內附的 ExtraMidi 電子琴,它提供了百餘種的演奏樂器,可以讓使用者盡情彈彈按按,享受音樂殿堂的美妙 。 但是我一直到昨天才更新了 ExtraMidi,有網友給了我一些好建議,例如希望可以改變琴鍵的大小,這一點是我昨天改版的重點。另外的建議是希望可以設置琴鍵對應電腦鍵盤的功能,也就是利用鍵盤來彈電子琴,而不是只透過滑鼠,這個建議也不是很困難,我改天再來改版(2005/10/09 的後註:已經改好,請到這裡下載 ExtraMidi。 我也收到一封很有趣的信,信裡表示要購買我的琴鍵,呵呵,我不是已經把琴鍵送給了大家
! ExtraMidi 目前只是「演示版」, 其實還有很多改版的空間,我最終想要實現的是 Midi 的編曲功能 。可是,這牽涉到更多電子音樂的技術問題
,回到前幾段所說的:這要等我吸收日月精華之後再來解決!

可執行檔下載
瀏覽發行頁面
2005/10/08