各位网友你们好:
首先感谢你们对我的“音乐天地”的支持,今天我的这个作品你们在使用是还可能有无足之出。为了让大家多能很好的使用它,为了它能够跟快的成长我从这个版本起就将程序的原代码开放了,希望各位高手能更好的完善它。在这里我将介绍一下我的程序的各个部分。
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解码。
如果您有这个毅力学到上海这家解码公司的技术,您将改变您现有的工作岗位。我也在不断的学习但愿网友中有人能尽快彻底解决这一问题。
展开