Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/203.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 文字到语音:葡萄牙语不可用?_Java_Android_Eclipse_Text To Speech - Fatal编程技术网

Java 文字到语音:葡萄牙语不可用?

Java 文字到语音:葡萄牙语不可用?,java,android,eclipse,text-to-speech,Java,Android,Eclipse,Text To Speech,我需要实现一个应用程序(TTS),可以阅读葡萄牙语文本。不幸的是,当使用TextToSpeech.setLanguage(Locale loc)方法时,我在其中找不到葡萄牙语区域设置。返回除葡萄牙语以外的语言数 那么,有没有办法用葡萄牙语实现TTS?无论如何,我都在使用安卓2.3.3 更新 正如一位成员所建议的,我使用了API 这是密码 private void speak() { String text = textToSpeech.getText().toString

我需要实现一个应用程序(TTS),可以阅读葡萄牙语文本。不幸的是,当使用
TextToSpeech.setLanguage(Locale loc)
方法时,我在其中找不到葡萄牙语<代码>区域设置。返回除葡萄牙语以外的语言数

那么,有没有办法用葡萄牙语实现TTS?无论如何,我都在使用安卓2.3.3

更新

正如一位成员所建议的,我使用了API

这是密码

private void speak()
    {
        String text = textToSpeech.getText().toString();

        Audio audio = Audio.getInstance();
        InputStream sound;
        try {
            sound = audio.getAudio(text, Language.PORTUGUESE);
            audio.play(sound);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
我弄错了

08-23 15:00:47.421: W/System.err(728): java.net.UnknownHostException: translate.google.com
08-23 15:00:47.421: W/System.err(728):  at java.net.InetAddress.lookupHostByName(InetAddress.java:506)
08-23 15:00:47.431: W/System.err(728):  at java.net.InetAddress.getAllByNameImpl(InetAddress.java:294)
08-23 15:00:47.431: W/System.err(728):  at java.net.InetAddress.getAllByName(InetAddress.java:256)
08-23 15:00:47.431: W/System.err(728):  at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection.<init>(HttpConnection.java:69)
08-23 15:00:47.431: W/System.err(728):  at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection.<init>(HttpConnection.java:48)
08-23 15:00:47.431: W/System.err(728):  at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection$Address.connect(HttpConnection.java:322)
08-23 15:00:47.431: W/System.err(728):  at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnectionPool.get(HttpConnectionPool.java:89)
08-23 15:00:47.441: W/System.err(728):  at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.getHttpConnection(HttpURLConnectionImpl.java:285)
08-23 15:00:47.441: W/System.err(728):  at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.makeConnection(HttpURLConnectionImpl.java:267)
08-23 15:00:47.441: W/System.err(728):  at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.retrieveResponse(HttpURLConnectionImpl.java:1018)
08-23 15:00:47.441: W/System.err(728):  at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:512)
08-23 15:00:47.441: W/System.err(728):  at com.gtranslate.Audio.getAudio(Audio.java:34)
08-23 15:00:47.451: W/System.err(728):  at com.example.tts.MainActivity.speak(MainActivity.java:70)
08-23 15:00:47.451: W/System.err(728):  at com.example.tts.MainActivity.access$0(MainActivity.java:63)
08-23 15:00:47.461: W/System.err(728):  at com.example.tts.MainActivity$SpeechClass.onClick(MainActivity.java:53)
08-23 15:00:47.461: W/System.err(728):  at android.view.View.performClick(View.java:2485)
08-23 15:00:47.461: W/System.err(728):  at android.view.View$PerformClick.run(View.java:9080)
08-23 15:00:47.461: W/System.err(728):  at android.os.Handler.handleCallback(Handler.java:587)
08-23 15:00:47.461: W/System.err(728):  at android.os.Handler.dispatchMessage(Handler.java:92)
08-23 15:00:47.461: W/System.err(728):  at android.os.Looper.loop(Looper.java:123)
08-23 15:00:47.471: W/System.err(728):  at android.app.ActivityThread.main(ActivityThread.java:3683)
08-23 15:00:47.471: W/System.err(728):  at java.lang.reflect.Method.invokeNative(Native Method)
08-23 15:00:47.471: W/System.err(728):  at java.lang.reflect.Method.invoke(Method.java:507)
08-23 15:00:47.471: W/System.err(728):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
08-23 15:00:47.471: W/System.err(728):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
08-23 15:00:47.471: W/System.err(728):  at dalvik.system.NativeStart.main(Native Method)
08-23 15:00:47.421:W/System.err(728):java.net.UnknownHostException:translate.google.com
08-23 15:00:47.421:W/System.err(728):位于java.net.InetAddress.lookupHostByName(InetAddress.java:506)
08-23 15:00:47.431:W/System.err(728):位于java.net.InetAddress.getAllByNameImpl(InetAddress.java:294)
08-23 15:00:47.431:W/System.err(728):位于java.net.InetAddress.getAllByName(InetAddress.java:256)
08-23 15:00:47.431:W/System.err(728):位于org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection.(HttpConnection.java:69)
08-23 15:00:47.431:W/System.err(728):位于org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection.(HttpConnection.java:48)
08-23 15:00:47.431:W/System.err(728):位于org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection$Address.connect(HttpConnection.java:322)
08-23 15:00:47.431:W/System.err(728):位于org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnectionPool.get(HttpConnectionPool.java:89)
08-23 15:00:47.441:W/System.err(728):位于org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.getHttpConnection(HttpURLConnectionImpl.java:285)
08-23 15:00:47.441:W/System.err(728):位于org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.makeConnection(HttpURLConnectionImpl.java:267)
08-23 15:00:47.441:W/System.err(728):位于org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.retrieverresponse(HttpURLConnectionImpl.java:1018)
08-23 15:00:47.441:W/System.err(728):位于org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:512)
08-23 15:00:47.441:W/System.err(728):位于com.gtranslate.Audio.getAudio(Audio.java:34)
08-23 15:00:47.451:W/System.err(728):位于com.example.tts.MainActivity.speak(MainActivity.java:70)
08-23 15:00:47.451:W/System.err(728):在com.example.tts.MainActivity.access$0(MainActivity.java:63)
08-23 15:00:47.461:W/System.err(728):位于com.example.tts.MainActivity$SpeechClass.onClick(MainActivity.java:53)
08-23 15:00:47.461:W/System.err(728):在android.view.view.performClick(view.java:2485)上
08-23 15:00:47.461:W/System.err(728):在android.view.view$PerformClick.run(view.java:9080)
08-23 15:00:47.461:W/System.err(728):位于android.os.Handler.handleCallback(Handler.java:587)
08-23 15:00:47.461:W/System.err(728):位于android.os.Handler.dispatchMessage(Handler.java:92)
08-23 15:00:47.461:W/System.err(728):位于android.os.Looper.loop(Looper.java:123)
08-23 15:00:47.471:W/System.err(728):位于android.app.ActivityThread.main(ActivityThread.java:3683)
08-23 15:00:47.471:W/System.err(728):位于java.lang.reflect.Method.invokenactive(本机方法)
08-23 15:00:47.471:W/System.err(728):位于java.lang.reflect.Method.invoke(Method.java:507)
08-23 15:00:47.471:W/System.err(728):在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
08-23 15:00:47.471:W/System.err(728):位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
08-23 15:00:47.471:W/System.err(728):在dalvik.System.NativeStart.main(本机方法)
怎么样?它是一个面向谷歌翻译的API,提供文本说话功能等。它支持,这样的代码段应该可以完成以下工作:

Audio audio = Audio.getInstance();
InputStream sound  = audio.getAudio("portuguese sentence", Language.PORTUGUESE);
audio.play(sound);

缺点是您必须在线才能让API工作。

您如何尝试获取区域设置?如果您依赖于
Locale
类中定义的常量,那么似乎没有为葡萄牙语定义常量。您应该能够像这样构造它:
newlocale(“pt”)
(或者
newlocale(“pt”、“pt”)
或者
newlocale(“pt”、“br”)

例如:

tts.setLanguage(new Locale("pt"));

可以使用检查该语言的支持级别。

可能您没有安装所需的语言

尝试安装Google TTS:,并在设备配置中选择它。

尝试以下操作:

Locale locale = new Locale("pt", "br");
tts.setLanguage(locale);

这对我有用

我现在在打电话,所以我不能查一下。你能告诉我这种语言的语言级别支持吗?但是有两个lib。下载哪一个?请帮助好吧,似乎你需要两者才能播放声音。@Artificial_Intelligence translate.google.com肯定存在。您的应用程序是否可以访问internet?是,权限已启用。一定是库中的一个问题