硬件和软件的关系原来是这样的.....

今天花了一点时间写了一个mp3转换成wma的一个小工具,是通过Windows Media Encoder SDK来实现的。也许大家用过Windows Media Encoder 这个微软提供的免费的工具用来进行各种audio 和video文件的转换,但是经过我的测试,一首6M的MP3文件,使用Windows Media Encoder 来转换成wma格式(cd quality,64Kbps)大约需要30秒,而使用我的tool只要最多15秒,而且在批量处理多源文件的时候Windows Media Encoder 会导致机器hang好一会,我的tool不会。毕竟自己写的自己用起来比较顺手,而且也节省不少的时间(虽然比较简陋:))。其实我也是误打误撞,没有想到会有这样好的performance。

回想一下这个tool的诞生还是有几个key point 的:

1。我为什么要自己写这个小工具?

 因为我发现使用Windows Media Encoder 来进行mp3到wma的转换的时候不会自动保留文件的信息,比如title,Artist,Album Title等,需要每次自己手动追加。而且在多文件批处理的时候需要每个文件都配置一遍distribute 方式和bit rate,而且输出文件名称修改起来也不方便。所以为了节省时间,我决定自己写个工具来帮我完成。

2。那么我为什么要使用Windows Media Encoder 来进行mp3到wma的转换呢?

因为我机器上有很多的mp3的文件,我需要压缩它们,既然微软有这样的免费的工具,我当然首选之。

3。那么我为什么要进行mp3到wma的转换呢?

因为我要把文件从mp3转换到wma来节省空间。

4。那么我为什么要节省空间呢?

因为我的mp3 player只有128M,如果是mp3的格式(3m到5m的大小),我也就只能存储30首左右的歌曲,而如果是wma的话,一般都是1m到2m的大小,就可以存储60首左右的歌曲。

5。那么为什么我的mp3 player只有128M呢?

因为买的早,所以容量小,我现在也没有钱升级它了。

所以总结下来就是,因为我没有钱升级我的硬件,所以我只能用软件来弥补硬件的不足。

于是我明白了为什么以前在学校里刚开始学习编程的时候,老师就教育我们要精简代码,要讲究性能,能用指针决不用数组,能释放资源,就尽早释放资源,不要等到让系统去资源回收。就像很久以前网上有人讨论一个算法,大家都在互相比较看谁的算法中使用的变量最少,指针数量最少,代码行数最少的时候,一个印度人回复到,直接一个大数组就可以搞定了,不用担心资源消耗问题,硬件的发展足以满足我们的需要!

哦,终于明白了,原来印度人比我们有钱,估计我们在流行486的时候,人家已经普及586了。

posted @ 2006-09-07 19:33  bluehat  阅读(3371)  评论(8编辑  收藏  举报