Je voudrais rendre mon application Java/Swing compatible avec le menu Services disponible sur Mac OS X. Par exemple, pour que l'utilisateur puisse sélectionner du texte dans JTextArea et le convertir en discours par Services -> Discours -> Commencer à parler le texte. Existe-t-il un moyen simple d'y parvenir? (L'application devrait toujours pouvoir fonctionner sur des plates-formes autres que Mac OS X.)Utilisation de Mac OS X Services-menu à partir d'une application Java/Swing
Répondre
Ceci semble fonctionner sur Mac OS X Leopard, sans passer à l'application d'origine. Je me suis donc désintéressé de la réponse (à savoir comment le faire fonctionner sur Tiger). Merci pour votre contribution, cependant.
Je suis enclin à dire non. Si je me souviens bien, les services sont uniquement disponibles pour les applications Cocoa, et les applications Java ne sont pas des applications Cocoa.
Jetez un oeil à OSXAdapter package de pomme (lien nécessite la connexion du développeur Apple gratuit) pour le développement de Java. Les exemples inclus dans le package vous montrent comment bien s'intégrer au menu de l'application OS X d'une manière qui n'est activée que lorsque votre application est exécutée sous OS X.
Si tout ce que vous voulez est le résultat final du texte en cours de conversion à la parole, vous pouvez essayer d'invoquer le « dire » commande en utilisant ProcessBuilder, quelque chose comme ceci:
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;
}
Ce ne sera pas ajouter au menu des services, mais vous pouvez toujours obtenir le même effet.
Assurez-vous de vérifier la page de manuel pour "dire" car vous pouvez changer la voix.