当前位置: 首页 > 知识库问答 >
问题:

UtteranceProgressListener(TTS)不工作或未调用(Android 4.4.2)

东方新霁
2023-03-14

两天以来,我试图让一个UtteranceProgressListener工作。我尝试了很多来自Stackoverflow和其他网站的代码--没有一个对我有效。下面是我当前的代码:

private void activateTTS() {
    tts=new TextToSpeech(getApplicationContext(), new TextToSpeech.OnInitListener() {

        @Override
        public void onInit(int status) {
            if (status == TextToSpeech.SUCCESS) {
                int result=tts.setLanguage(Locale.getDefault());
                if (result==TextToSpeech.LANG_MISSING_DATA ||
                        result==TextToSpeech.LANG_NOT_SUPPORTED) {
                }
                tts.setOnUtteranceProgressListener(new UtteranceProgressListener() {
                    @Override 
                    public void onDone(String utteranceId) {
                        if (utteranceId == "myId") {
                            //[...] all my code that is not being called
                            //when speaking is finished
                        }
                    } 

                    @Override 
                    public void onError(String utteranceId) {
                    } 

                    @Override 
                    public void onStart(String utteranceId) {
                    } 
                });
            }
        }
    });
}
params = new HashMap<String, String>();
params.put(TextToSpeech.Engine.KEY_PARAM_UTTERANCE_ID, "myId");
tts.speak(myString, TextToSpeech.QUEUE_FLUSH, params);
private static TextToSpeech tts;
private HashMap<String, String> params;
public class TTSPlayer extends MainActivity {
//[all my code]
}
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.saschaha.readit"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="15"
    android:targetSdkVersion="21" />

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:configChanges="orientation|keyboardHidden|screenSize"
        android:name="com.saschaha.readit.MainActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name="com.saschaha.readit.TTSPlayer"
        android:label="@string/ReadIt" >
    </activity>
</application>
</manifest>

共有1个答案

宋飞舟
2023-03-14

错误与字符串比较有关

if (utteranceId == "myId")  

将其更改为

if ("myId".equals(utteranceId))
 类似资料:
  • 为了在iOS10中获得推送通知而拼命工作。当前设置: 在

  • 问题是onMenuItemClick的输入参数为(View v,int position),而我不能将其仅改为(View v)或(MenuItem item)。 我想要的是点击菜单中的每一项都应该带出新的活动! 我还尝试将所有的开关大小写中断语句放入OOptionSitemSelected方法,但它仍然不起作用! (已弃用)未调用onOptionsItemSelected片段 下面是activit

  • 问题内容: 建立: 我正在做一个ajax-jsonp调用,它工作正常。此的回调函数更改变量“ myVaraible”的值。在调用之后,有一些if-else逻辑对“ myVaraible”的值起作用。 这是代码: 问题: Ajax调用保持“待处理”状态,控制移至if- else块(有效执行myVariable的旧/陈旧值)。然后,ajax调用完成。简而言之,在两个方框中,先执行然后执行 如您所见,我

  • 我在将工作cURL调用转换为内部API到python请求调用时遇到了一个问题。 以下是工作旋度调用: 然后,我试图将该调用转换为一个工作python请求脚本在这里: 我得到一个HTTP 401或500错误,这取决于我如何更改headers变量。我不明白的是,我的python请求与cURL请求有何不同。它们都作为同一用户从同一台服务器上运行。 任何帮助都将不胜感激

  • 我有以下QueryDSL查询: 它使用计数,因为这是Spring数据用来对结果进行分页的第一个查询。

  • 我在使用JSF2.0时遇到了问题。命令按钮不调用bean,我已经阅读了balusc应答commandbutton/commandlink/ajax action/listener方法未调用或输入值未更新,但我认为我不会遇到这些情况,这就是我使用的代码: 更新1: