From 3e425bbc368bf01e4f389b0cadd8cfacfe21e0c5 Mon Sep 17 00:00:00 2001 From: Duy Tran Khanh Date: Tue, 16 Feb 2021 17:29:04 +0700 Subject: [PATCH] Use a dummy implementation of Narrator library --- .../java/com/mojang/text2speech/Narrator.java | 20 ++++++++++++++++++ .../com/mojang/text2speech/NarratorDummy.java | 21 +++++++++++++++++++ .../com/mojang/text2speech/NarratorLinux.java | 4 ++++ .../com/mojang/text2speech/NarratorOSX.java | 4 ++++ .../mojang/text2speech/NarratorWindows.java | 4 ++++ .../com/mojang/text2speech/Text2Speech.java | 17 +++++++++++++++ 6 files changed, 70 insertions(+) create mode 100644 JavaApp/src/main/java/com/mojang/text2speech/Narrator.java create mode 100644 JavaApp/src/main/java/com/mojang/text2speech/NarratorDummy.java create mode 100644 JavaApp/src/main/java/com/mojang/text2speech/NarratorLinux.java create mode 100644 JavaApp/src/main/java/com/mojang/text2speech/NarratorOSX.java create mode 100644 JavaApp/src/main/java/com/mojang/text2speech/NarratorWindows.java create mode 100644 JavaApp/src/main/java/com/mojang/text2speech/Text2Speech.java diff --git a/JavaApp/src/main/java/com/mojang/text2speech/Narrator.java b/JavaApp/src/main/java/com/mojang/text2speech/Narrator.java new file mode 100644 index 00000000..d973759b --- /dev/null +++ b/JavaApp/src/main/java/com/mojang/text2speech/Narrator.java @@ -0,0 +1,20 @@ +package com.mojang.text2speech; + +public interface Narrator { + void say(final String msg, final boolean interrupt); + + void clear(); + + boolean active(); + + void destroy(); + + static Narrator getNarrator() { + return new NarratorDummy(); + } + + static void setJNAPath(String sep) { + System.setProperty("jna.library.path", System.getProperty("jna.library.path") + sep + "./src/natives/resources/"); + System.setProperty("jna.library.path", System.getProperty("jna.library.path") + sep + System.getProperty("java.library.path")); + } +} diff --git a/JavaApp/src/main/java/com/mojang/text2speech/NarratorDummy.java b/JavaApp/src/main/java/com/mojang/text2speech/NarratorDummy.java new file mode 100644 index 00000000..77156c99 --- /dev/null +++ b/JavaApp/src/main/java/com/mojang/text2speech/NarratorDummy.java @@ -0,0 +1,21 @@ +package com.mojang.text2speech; + +public class NarratorDummy implements Narrator { + @Override + public void say(final String msg, final boolean interrupt) { + } + + @Override + public void clear() { + } + + @Override + public boolean active() { + return false; + } + + @Override + public void destroy() { + + } +} diff --git a/JavaApp/src/main/java/com/mojang/text2speech/NarratorLinux.java b/JavaApp/src/main/java/com/mojang/text2speech/NarratorLinux.java new file mode 100644 index 00000000..aba33507 --- /dev/null +++ b/JavaApp/src/main/java/com/mojang/text2speech/NarratorLinux.java @@ -0,0 +1,4 @@ +package com.mojang.text2speech; + +public class NarratorLinux extends NarratorDummy { +} \ No newline at end of file diff --git a/JavaApp/src/main/java/com/mojang/text2speech/NarratorOSX.java b/JavaApp/src/main/java/com/mojang/text2speech/NarratorOSX.java new file mode 100644 index 00000000..d109a9aa --- /dev/null +++ b/JavaApp/src/main/java/com/mojang/text2speech/NarratorOSX.java @@ -0,0 +1,4 @@ +package com.mojang.text2speech; + +public class NarratorOSX extends NarratorDummy { +} diff --git a/JavaApp/src/main/java/com/mojang/text2speech/NarratorWindows.java b/JavaApp/src/main/java/com/mojang/text2speech/NarratorWindows.java new file mode 100644 index 00000000..3643ccca --- /dev/null +++ b/JavaApp/src/main/java/com/mojang/text2speech/NarratorWindows.java @@ -0,0 +1,4 @@ +package com.mojang.text2speech; + +public class NarratorWindows extends NarratorDummy { +} diff --git a/JavaApp/src/main/java/com/mojang/text2speech/Text2Speech.java b/JavaApp/src/main/java/com/mojang/text2speech/Text2Speech.java new file mode 100644 index 00000000..3d503e77 --- /dev/null +++ b/JavaApp/src/main/java/com/mojang/text2speech/Text2Speech.java @@ -0,0 +1,17 @@ +package com.mojang.text2speech; + +public class Text2Speech { + public static void main(final String[] args) { + System.setProperty("jna.library.path", "./src/natives/resources/"); + final Narrator narrator = Narrator.getNarrator(); + narrator.say("This is a test", false); + + while (true) { + try { + Thread.sleep(100); + } catch (final InterruptedException e) { + e.printStackTrace(); + } + } + } +}