2014-08-28 110 views
2

我正在使用~Link~为Titanium中的android创建文本到语音转换功能,但是我在开发中遇到了一些问题。钛文本到语音转换

该模块支持TTS和STT,STT功能正常,但另一个不起作用。

我按照文档创建一个控制器是这样的:

变种发声=要求( 'bencoding.utterance'), 语音= utterance.createSpeech();

if(speech.isSpeaking){ 
     Ti.API.info("already speaking"); 
    } 

    speech.startSpeaking({ 
     text:"こんにちは" 
    }); 

当我运行该程序。控制台将显示:

[ERROR] : TiApplication: (main) [1191,10337] Sending event: exception on thread: main msg:java.lang.NullPointerException; Titanium 3.3.0,2014/07/11 12:36,787cd39 
[ERROR] : TiApplication: java.lang.NullPointerException 
[ERROR] : TiApplication: at bencoding.utterance.SpeechProxy.onInit(SpeechProxy.java:72) 
[ERROR] : TiApplication: at android.speech.tts.TextToSpeech.dispatchOnInit(TextToSpeech.java:640) 
[ERROR] : TiApplication: at android.speech.tts.TextToSpeech.access$1000(TextToSpeech.java:52) 
[ERROR] : TiApplication: at android.speech.tts.TextToSpeech$Connection.onServiceConnected(TextToSpeech.java:1296) 
[ERROR] : TiApplication: at android.app.LoadedApk$ServiceDispatcher.doConnected(LoadedApk.java:1187) 
[ERROR] : TiApplication: at android.app.LoadedApk$ServiceDispatcher$RunConnection.run(LoadedApk.java:1204) 
[ERROR] : TiApplication: at android.os.Handler.handleCallback(Handler.java:615) 
[ERROR] : TiApplication: at android.os.Handler.dispatchMessage(Handler.java:92) 
[ERROR] : TiApplication: at android.os.Looper.loop(Looper.java:155) 
[ERROR] : TiApplication: at android.app.ActivityThread.main(ActivityThread.java:5511) 
[ERROR] : TiApplication: at java.lang.reflect.Method.invokeNative(Native Method) 
[ERROR] : TiApplication: at java.lang.reflect.Method.invoke(Method.java:511) 
[ERROR] : TiApplication: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1029) 
[ERROR] : TiApplication: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:796) 
[ERROR] : TiApplication: at dalvik.system.NativeStart.main(Native Method) 

即使我复制示例中的代码。

这是我的问题吗?模块被添加到程序中。

谢谢。

回答

1

我用钛3.3.0GA编译该模块,并工作the example。你使用什么版本?

这是重要提示使用此代码测试设备:

win.addEventListener('open', function() 
{ 
    if(!utterance.isSupported()) 
    { 
     alert("Device not compatible"); 
    } 
}); 
+0

谢谢您的答复。我发现该模块运行正常,但不会说日语(示例文本),如果我将其更改为数字或英语将工作。 – 2014-08-29 04:11:09