有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

使用Java/Swing应用程序中的Mac OS X服务菜单的macos

我想让我的Java/Swing应用程序与Mac OS X上可用的服务菜单兼容。例如,用户可以在JTextArea中选择一些文本,并通过服务->;将其转换为语音;演讲->;开始说文字。 有没有一个简单的方法来实现这一点? (应用程序仍应能够在Mac OS X以外的平台上运行。)


共 (4) 个答案

  1. # 1 楼答案

    我倾向于说不。如果我没记错的话,服务只对Cocoa应用程序可用,Java应用程序不是Cocoa应用程序

  2. # 2 楼答案

    这似乎适用于MacOSXLeopard,对原始应用程序没有任何更改。所以我对答案(如何让它在Tiger上工作)失去了兴趣。不过,谢谢你的贡献

  3. # 3 楼答案

    看看苹果公司的OSXAdapter package(链接需要免费的苹果开发者登录)java开发。软件包中包含的示例向您展示了如何以一种仅在应用程序在OSX下运行时才激活的方式很好地集成到OSX应用程序菜单

  4. # 4 楼答案

    如果您只需要将文本转换为语音的最终结果,可以尝试使用ProcessBuilder调用“say”命令,如下所示:

    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;
    }
    

    这不会将其添加到“服务”菜单中,但您仍然可以获得相同的效果

    一定要查看手册页的“说”,因为你可以改变声音