之前在学校时候学习使用 Ubuntu 时使用过一个非常优秀的软件那就是 Reciteword, 俗称黑客背单词,认识这款软件是因为自己在 Ubuntu 下使用的字典软件是 stardict,这两款软件的作者是同一个,作者名字叫 胡正 。
最近一段时间里工作上和家里都使用的 Ubuntu,又想起了这款优秀的软件,那么好吧,我们这就开始安装吧, 这里 有一篇文章非常的详细,你只要按照这个流程安装,肯定成功。
但是在安装之后我们很有可能碰到不能正常发声的问题,那么我们如何解决这个问题呢?我在网上搜了一些相关的资料,自己一一尝试验证之后,发现这个法子很不错。
那就是在启动 reciteword 命令前,加上 esound -noterminate -nobeeps &,也就是在终端中启动 reciteword 的命令应该是这样的 esound -noterminate -nobeeps & reciteword,但是这样肯定是不方便的。那么我们可以这么做,也就是通过编辑/etc/esound/esd.conf 文件来达成目的
例如我的/etc/esound/esd.conf 文件内容如下:
[esd]
# autospawning is not recommended, since it can’t really be done# right. If you want your login session to be using a sound daemon,# you should start it from the session controller, not some random# app inside.auto_spawn=1spawn_options=-noterminate -nobeeps -as 2spawn_wait_ms=100# default options are used in spawned and non-spawned modedefault_options=2
修改该文件之后再次启动 reciteword,就能正常发声了,但是还有一个问题,那就是你单击软件界面中的朗读按钮,软件并不会正常的朗读单词,在测试的过程中,如果你输入单词的速度很快的话,软件发出的那种老式打字机金属敲击的声音并不能跟上你的节奏,我想应该是 esound 自动多音频流播放的问题吧,解决方案参考了 这篇文章 和 这篇文章。
听说有 alsa 版本的,哪天试一试看看如何,嘿嘿,希望本文能对你有所帮助。
==========================更新=============================
在 Ubuntu 10.04 下编译可能会出现一个错误
1 bookfile.cpp: In function ‘gchar* rw_book_get_value(const gchar*, gchar*, gint)’:
在 bookfile.cpp 文件中找到 原来的 tmp1 = strstr (str1, str2);
1 改为 tmp1 = (gchar*)strstr (str1, str2);