我使用Java 6运行Ubuntu 10.10并且无法获取FreeTTS来输出任何音频.我现在已经在3台不同的计算机上试过它,甚至要求我的一个伙伴在他的Ubuntu PC上试用它并且他遇到了同样的问题.绝对没有显示错误,在获得MBROLA后我甚至不再收到关于没有检测到MBROLA声音的警告.等等等等等等..
使用同一台计算机,我运行了一个虚拟盒并启动了Windows XP,我实际上能够在运行HelloWorld.jar和TTSHelloWorld.jar时获得音频,但是当我尝试输入自己的文本时,freetts.jar仍然是静默的.
我使用的命令.
java -jar lib/freetts.jar -text你好
当我按下Enter键时,它启动并用来给我丢失的MBROLA警告信息,但现在它只是坐在那里直到我按CTRL-C来阻止它.
我不明白我做错了什么以及为什么没有其他人遇到这个问题,当我在每台计算机上展示它时,它在Windows上有所作为.谁能帮我?
谢谢,
约翰
我想知道是否有人可以建议将平面JSON转换为复杂的java对象的推荐方法.示例JSON
{account_id: 1, user_id:3, user_name:john ... }
Run Code Online (Sandbox Code Playgroud)
但我的java类需要
class Account {
int account_id;
User user;
}
Run Code Online (Sandbox Code Playgroud)
这是用户对象......
class User {
int user_id;
String user_name;
}
Run Code Online (Sandbox Code Playgroud)
看起来我可以使用Jackson构造函数从JSON转到java以我需要的方式创建对象但我还需要将java对象转换为平面JSON.我是否需要为每个类使用序列化器/反序列化器?或者我可以通过简单的注释来实现它...通过告诉它忽略用户对象而不是其中的内容..
让我知道你的想法是什么.谢谢
public static int triple(int n)
{
if (n == 0)
return 0;
else
total = 3 + triple(n-1);
System.out.println(total);
return total;
}
Run Code Online (Sandbox Code Playgroud)
好的,所以我有一个简单的回忆示例,我似乎无法掌握,我希望有人能够让我逐步了解程序如何获得其输出.
这就是我认为会发生的事情.让我们说,n=5
所以程序循环和命中total = 3 + triple(5-1)
我认为将等于7 ..这是程序打印错误
3
6
9
12
15
所以...然后我认为三重必须在打印总数之前再次运行...我相信它确实如此,但我根本不明白它的总计是如何.
因为它看起来像这样:
3 + triple(4)
3 + triple(3)
3 + triple(2)
3 + triple(1)
=3
Run Code Online (Sandbox Code Playgroud)
有人可以解释一下,因为你我可以很失落!