很想知道我的java程序具有人性能力需要什么。目前要显示我使用System.out.println的消息并阅读用户的输入,我可能会使用类似System.in的内容。想知道我是否有办法说System.out.speak()和System.hear();
如果Java不可能,我可以学习其他语言,请帮助。
答案 0 :(得分:2)
想知道我是否有办法说System.out.speak()和System.hear();
从字面上看,没有。
System.out
是PrintWriter
,没有speak()
方法。System.hear()
方法。此外,Java库中没有用于文本到语音或语音到文本的标准API。 (而且我不知道任何其他语言将此功能作为标准功能。)
但是,我确信,如果你看起来足够努力,你可以找到第三方工具来实现这一点,可以通过这种方式与Java集成。
<强>更新强>
事实上,您已经找到了标准的Android(与Java不同)API:
android.speech
android.speech.tts
从设计的角度来看,我认为在操作系统的用户界面框架(用户可以控制它)中支持这种事情更好,而不是将其嵌入到单独的应用程序中。
答案 1 :(得分:0)
所以听起来这就是你想要的:
&#34; System.out.speak()&#34; - 如你所知,这不是真实的事情。我想我可以提出一个高级别的临时解决方案。
听起来您只是希望在到达代码中的某个部分时收到通知。也许你可以录制一个自己的wav或mp3,说出你想听到的任何警告,然后将wav / mp3导入你的项目目录。请参阅此文章以了解如何播放该音频: Playing .mp3 and .wav in Java?
您可以简单地创建一个静态方法,该方法接收表示所需音频播放的字符串,然后按照上面的链接建议。
如果你想让它接收一个字符串,然后让某种计算机语音(例如微软Sam)说出那个字符串,那就复杂得多了。哈哈,我不知道怎么做。但我猜测它并不像你对#34; System.in.hear()&#34;
的想法那么难。&#34; System.in.hear()&#34; - 这绝对不是一件事。这需要语音到文本(STT)领域的知识。这基本上是Siri或Google Now如何解析你对他们说的话。我确定你可以找到这样做的图书馆,但是我懒得找你:(
我希望这会有所帮助。我现在正在STT做一些研究,我看到你的问题弹出来了。我在该领域不是很了解,但我希望你能想出一种获得音频反馈的方法,而不必将println放在任何地方。你应该弄明白并重复使用它。
快乐的节目!