小编Moh*_*wal的帖子

android runonuithread()函数没有执行

我正在开发一个使用名为flite的第三方tts的应用程序.我正在做一些像tts说句子的事情.我想突出显示每个单词.为此,我设法从tts获得了单词级回调.工作流程是这样的 - 按下"说文本"按钮.它启动tt服务,然后将文本发送到使用C语言的flite tts并与应用程序结合.现在,从C代码开始,在每个单词之后我对两个不同的java活动进行两次回调:一个到tts服务,将第二个单词说成我的测试java活动以突出显示该单词.我在测试活动中成功获得了单词级回调,但之后我无法进行任何UI工作.

以下是我收到回调时执行的代码:这是从C代码调用的函数.

private void WordCallback(int isword) {// from
    // callback
    if (isword == -1) {
        Log.d(LOG_TAG, "its not a word");
    } else if (isword == -2) {
        Log.d(LOG_TAG, "yeah..its the end");
    } else {
        Log.d(LOG_TAG, "its word no " + isword);

        int word = isword;
        Log.d(LOG_TAG, "highlightwords");
        highlightwords(isword);

        if (isword == 4) {
            Log.d(LOG_TAG, "in if");

            new Thread(new Runnable() {
                @Override
                public void run() {
                    Log.d(LOG_TAG, "thread started");
                    try {
                        Flitetest.this.runOnUiThread(new Runnable() {
                            @Override
                            public void run() …
Run Code Online (Sandbox Code Playgroud)

android

6
推荐指数
1
解决办法
804
查看次数

标签 统计

android ×1