Ubuntu 10.04 Reciteword 发声问题解决方法

之前在学校时候学习使用 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=1
spawn_options=-noterminate -nobeeps -as 2
spawn_wait_ms=100
# default options are used in spawned and non-spawned mode
default_options=2

修改该文件之后再次启动 reciteword,就能正常发声了,但是还有一个问题,那就是你单击软件界面中的朗读按钮,软件并不会正常的朗读单词,在测试的过程中,如果你输入单词的速度很快的话,软件发出的那种老式打字机金属敲击的声音并不能跟上你的节奏,我想应该是 esound 自动多音频流播放的问题吧,解决方案参考了 这篇文章这篇文章。

听说有 alsa 版本的,哪天试一试看看如何,嘿嘿,希望本文能对你有所帮助。

==========================更新=============================

在 Ubuntu 10.04 下编译可能会出现一个错误

在 bookfile.cpp 文件中找到 原来的 tmp1 = strstr (str1, str2);