(2)LAME应用教学——HIFI级MP3制作之路
http://www.audio100.net/4/18.htm(3)扔掉Lame的shell——用修改注册表的方法实现高品质MP3批量压缩
想必大家现在都是用Lame来制作MP3吧,但它复杂的参数又让人头痛,虽然有各种Shell可用,但经本人试用,发现有不足之处。如:razorlame压缩完后总是报告出错,要命的是压缩出来的MP3噪音大得要命,Lamer原版的经过压缩加壳,运行慢,脱壳后速度是上去了,也总是出错,原版也如此。WinLamer参数需调整,比如:设定输出目录为E:MP3,结果执行时,Lame一闪而过,查看参数竟然是E:\MP3,只好在.INI里调整。不知大家有没有遇过这种情况。
我已受够了,于是通过注册表得到一个不用Shell的Lame Encoder,方法如下(先假定Lame在C:Lame392下,保存的MP3在E:MP3下,Winamp在C:Winamp下):
1、先在Winamp中取消关联WAV文件,因为在Winamp中如果设置了保持文件关联,重启计算机后,会重新与WAV建立关联
2、运行REGEDIT,启动注册表编辑器,首先在[HKEY_CLASSES_ROOT.WAV]查看WAV的文件关联,依WAV文件默认关联不同而有所区别,如得知为WINAMP.FILE,就是要先在Winamp里取消关联WAV文件。
3、在[HKEY_CLASSES_ROOTWinamp.FileShell]下建立一个主键,取名为 "编码MP3文件",再在其下建立一个名为"command"的主键。在右边窗口中,双击"默认",在对话框中输入c:lame392lame.exe --alt-preset extreme "%1"。关闭注册表编辑器,这时用右键单击.WAV文件,在菜单中可看到"编码MP3文件",单击它,将自动启动Lame压缩。您要问,这样不能保存在指定目录啊。其实可以,只要把以上参数改为c:lame392lame.exe --alt-preset extreme --nogap "%1" --nogapout e:mp3即可。
但这样设定,在MP3文件也出现此菜单(实际上所有关联到WINAMP的文件都将有此菜单)。好办,把WAV文件关联为其它类型即可(可自定义)。大家可以修改[HKEY_CLASSES_ROOT.WAV]下默认为"WAV.file",在[HKEY_CLASSES_ROOT]下增加主键:WAV.file,默认为 "WAV音频文件",然后在"文件夹选项"中选"文件类型",选择"WAV音频文件","编辑",即可设置默认程序、图标、各种关联程序等。
经本人测试,还可实现批量压缩,首先选定待压缩的所有.WAV文件,单击右键,选择即可,所需时间与逐首压缩相当。大家可以用记事本编写注册表脚本,如:Encoder.reg,内容如下:
REGEDIT4
[HKEY_CLASSES_ROOT.wav]
@="Wav.File"
"Content Type"="audio/wav"
"Winamp_Back"="Wav.File"
[HKEY_CLASSES_ROOT.wavShellNew]
"FileName"="sndrec.wav"
[HKEY_CLASSES_ROOTWAV.File]
@="wav 音频文件"
"EditFlags"=hex:00,00,00,00
[HKEY_CLASSES_ROOTWAV.FileShell]
@="Play"
[HKEY_CLASSES_ROOTWAV.FileShell编码 MP3 文件]
[HKEY_CLASSES_ROOTWAV.FileShell编码 MP3 文件command]
@="c:\lame392\lame.exe --alt-preset extreme --nogap "%1" --nogapout e:\mp3"
[HKEY_CLASSES_ROOTWAV.FileShellPlay]
@="用 Winamp 播放(&P)"
[HKEY_CLASSES_ROOTWAV.FileShellPlaycommand]
@=""c:\WINAMP\WINAMP.EXE" "%1""
[HKEY_CLASSES_ROOTWAV.FileShellPlayDropTarget]
"Clsid"="{46986115-84D6-459c-8F95-52DD653E532E}"
[HKEY_CLASSES_ROOTWAV.FileDefaultIcon]
@="c:\Winamp\Winamp.exe,3"
保存为Encoder.reg,双击后导入即可(该例中设定WAV文件默认为用WINAMP播放,可选择编码MP3文件,图标为WINAMP.EXE中的第三个图标)。现在可以把 Lame 的 Shells 扔进回收站了^_^。