ArchLinux下VirtualBox安装和配置
编译mp3blaster,解决声卡独占和中文乱码
mp3blaster是个很酷的命令行界面音乐播放器,支持mp3,wav和ogg格式,但它有两个问题,一个是声卡独占,一个是中文乱码。
到其官方网站可以下载源码,我下了最新那个3.2.3版本。(话说它有近两年没更新了)
先说第一个问题,声卡独占(后来发现有更简单的解决办法,文章结尾有补充)
如果开着其它带声音的程序,mp3blaster就不能播放了,比如我就不能一边玩魔兽一边用它放音乐。
如果在系统音效那里开了允许软件混音(ESD)和播放系统声音,用它放歌就会断断续续一顿一顿一卡一卡的,或者播放速度超快音质爆烂。
这个问题好办,为系统安装alsa-oss,编译mp3blaster时加参数“--with-sdl=no --with-esd=no --with-oss”,屏蔽其sdl和esd,强制使用OSS播放
然后编辑~/.bashrc,添加一行:
(注:添加进/etc/profile更好,参考一个奇怪的问题--关于声卡独占)
运行以下命令使新的.bashrc生效:
这样就能解决声音独占了,如果想边玩魔兽边听歌,必须在winecfg音乐那里勾选ALSA。
再说第二个问题,中文乱码
在源代码目录下有个src/id3parse.cc文件,用文本编辑器打开它,找到
void
convert_to_sane_string(char *s)
{
unsigned int
cnt = strlen(s),
i;
for (i = 0; i < cnt; i++)
{
if (s[i] < (char)32)
s[i] = '.';
}
}
修改为:
void
convert_to_sane_string(char *s)
{
/*
unsigned int
cnt = strlen(s),
i;
for (i = 0; i < cnt; i++)
{
if (s[i] < (char)32)
s[i] = '.';
}
*/
}
即添加/*和*/把这个函数注释掉,保存退出。
接下来就可以编译安装mp3blaster了,终端进入源代码目录,然后
$ make
$ sudo make install
如果系统是GB环境,就能正常显示中文播放列表和mp3中文ID3标签,如果系统环境为UTF-8,此招无效
不过我仍然有旁门左道,把终端字符编码改为GBK,这样能正常显示中文ID3标签,但中文播放列表依然不行,没办法,《小王子》里的狐狸说世上没有十全十美的东西
我把所有的中文歌曲文件名都改为拼音了,windows下有个批量改名的小工具“改名专家2006”,挺好用的
终端运行mp3blaster便能启动播放器,操作很酷很简单,截图:

补充:声音独占的问题其实很好解决,可以通过配置文件,让mp3blaster使用OSS
先建立配置文件:
然后打开~/.mp3blasterrc,找到
把前面的#注释号去掉,即改为:
这样便不用编译时使用参数了,~/.mp3blasterrc还有很多设置选项,得好好研究下
- 版权所有,转载请遵循“署名-非商业用途-保持一致”创作共用协议。
- 相关文章
- 全局相关文章
-
- No match
