从Java/Swing应用程序使用Mac OS X服务菜单
问题描述:
我想让我的Java/Swing应用程序与Mac OS X上提供的服务菜单兼容。例如,让用户可以选择一些文本JTextArea并将其转换为语音服务 - >语音 - >开始发言文本。 有没有简单的方法来实现这一目标? (该应用程序仍应能够在Mac OS X以外的平台上运行。)从Java/Swing应用程序使用Mac OS X服务菜单
答
这似乎适用于Mac OS X Leopard,没有更改为原始应用程序。所以我对这个答案失去兴趣(如何让它在Tiger上工作)。但是,感谢您的贡献。
答
我倾向于说不。如果我没有记错,服务仅适用于Cocoa应用程序,并且Java应用程序不是Cocoa应用程序。
答
看看苹果的OSXAdapter package(链接需要免费的苹果开发者登录)为Java开发。包中包含的示例向您展示了如何以仅在您的应用程序在OS X下运行时激活的方式很好地集成到OS X应用程序菜单。
答
如果你想要的是文本的最终结果被转换为语音,你可以尝试调用“说”命令使用的ProcessBuilder,这样的事情:
String stuffYouWantToSay = "StackOverflow Rocks!";
Process p = null;
try {
ProcessBuilder pb = new ProcessBuilder("/usr/bin/say", stuffYouWantToSay);
p = pb.start();
} catch (Exception e) {
// handle the error
return;
}
这不会增加它到服务菜单,但你仍然可以得到相同的效果。
请务必查看“说”的手册页,因为您可以更改语音。