各位網友你們好:
首先感謝你們對我的「音樂天地」的支持,今天我的這個作品你們在使用是還可能有無足之出。為了讓大家多能很好的使用它,為了它能夠跟快的成長我從這個版本起就將程序的原代碼開放了,希望各位高手能更好的完善它。在這裡我將介紹我的程式的各個部分。
1。主視窗。
主視窗的功能有:動態顯示音訊波表,左右聲道調整,暫停,繼續,循環,下一首,上一首等。
2。歌曲目錄。
我的這個程式是完全模擬Winamp寫成的。不論是主視窗還使三個視窗的組合,在歌曲目錄視窗中支援雙擊某首歌曲的播放,支援多個文件的同時打開,支援從資源管理器中拖放文件,支援歌曲目錄的二次打開和保存,透過主視窗您能有選擇的播放單一文件,按順序播放和隨機播放目錄表中的文件。
3。作者資訊。
此視窗的作用是湊夠三個Winamp的完整佈局,並無實際意義。
程式的開發環境是Delphi6.0作業系統是Win98se,用到的技術點有:(1)Api,在程式登入時的透明視窗和左右聲道的控制都使WindowsAPI的呼叫。 (2)Delphi的Mediaplay控制項的調用,在播放VCD檔時用的就是它。 (3)VC++,大家最關心的一定是動態波形表的問題,其實我為了這個問題已經查閱了一年的資料了,大家有時侯喜歡在工作閒暇時寫寫小工具軟體,但是有些時候我們的知識面是不夠的。要達到Winamp的層次必定還相差很多,當然網友中可能有高手,好了我將解決大家的問題了。
剛開始時我認為波形表時呼叫某個Api函數來得到的,於是我查閱了所有的api手冊,結果一無所獲。後來我就開始了解碼層次的研究,在網路上這方面的資料太少我轉了幾個星期也一無所獲。有一天我在下班的路上賣了一張VC++資料光碟,在其中居然有動態波形表的文章,透過它我知道了波形表的產生是解碼的結果,它透過直接用一個8000個成員變數的龐大陣列將特定的音樂檔案手工解碼最後透過音效卡直接輸出,其複雜程度是我所難以一是理解的程式碼量超過3萬行。而您還有樂理知識。其中的三維音樂效果模擬也是透過解碼來完成的。我的日常工作是資料庫程式設計,對多媒體開遠不能達到文章中提到的層次,並且每種格式的檔案都要有不同的解碼標準。這些標準是國際MP3組織制定的詳細內容也要閱讀他們的技術文件。我的多媒體程式就這樣有放下了。我的目標轉到了第三方控件,我想透過第三方的控件來達到解碼播放的目的。但還是沒有現成的控件,我前些日子無意中發現了上海一家多媒體解碼公司提供了一個波形表動態聯接庫。透過它我實現了多媒體檔案的波形表顯示,但是它的預留的介面並不多導致我的程式不能首快進,快退的功能,要想的到完成功能只有花錢了。他們的這個動態聯接庫也只支援MP3解碼並不支援MPG解碼。
如果您有這個毅力學到上海這家解碼公司的技術,您將改變您現有的工作。我也在不斷的學習但願網友中有人能盡快徹底解決這個問題。
展開