0
嗨,我是一個在android開發新手,我正在創建一個短信和通話閱讀器應用程序,其中我已經使用了一個服務,我已經使用文本到語音類。並且我收到錯誤發言失敗:未綁定到TTS引擎。誰能幫忙? 由於文本到語音類顯示錯誤(安卓)
Texttospeech.java
package com.example.sms_reader;
import java.util.Locale;
import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.speech.tts.TextToSpeech;
import android.util.Log;
public class Myservice extends Service{
TextToSpeech tts;
String content2;
public void onCreate() {
super.onCreate();
tts = new TextToSpeech(this, null);
}
public int onStartCommand(Intent intent, int flags, int startId) {
//TODO do something useful
Log.d("tag4", "INTENT RECEIVED");
content2 = intent.getStringExtra("content");
Log.d("tag6", content2);
speakOut();
return Service.START_NOT_STICKY;
}
private void speakOut() {
tts.speak(content2, TextToSpeech.QUEUE_FLUSH, null);
}
@Override
public void onDestroy() {
// Don't forget to shutdown!
if (tts != null) {
tts.stop();
tts.shutdown();
}
super.onDestroy();
}
public void onInit(int status) {
// TODO Auto-generated method stub
if (status == TextToSpeech.SUCCESS) {
int result = tts.setLanguage(Locale.US);
// tts.setPitch(5); // set pitch level
// tts.setSpeechRate(2); // set speech speed rate
if (result == TextToSpeech.LANG_MISSING_DATA
|| result == TextToSpeech.LANG_NOT_SUPPORTED) {
Log.e("TTS", "Language is not supported");
}
else {
speakOut();
}
}
else
{
Log.e("TTS", "Initilization Failed");
}
}
@Override
public IBinder onBind(Intent arg0) {
// TODO Auto-generated method stub
return null;
}
}
@ Ajit-no它顯示錯誤,如果我這樣做。 –
替換公共類Myservice extends Service {with public class Myservice extends Service implements TextToSpeech.OnInitListener { 並將重寫註釋(@Override)添加到init()方法 – Ajit
@ Ajit-現在應用程序正在工作,但它仍顯示相同的錯誤。它只有一個名字,當一個戒指完成並且另一個戒指開始時它不會說出名字 –