在Android中,使用TextToSpeech類設(shè)置語速可以通過setSpeechRate()
方法來實現(xiàn)。以下是一個簡單的示例代碼,展示了如何設(shè)置語速:
import android.os.Bundle;
import android.speech.tts.TextToSpeech;
import android.speech.tts.TextToSpeech.OnInitListener;
import android.speech.tts.UtteranceProgressListener;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
public class MainActivity extends AppCompatActivity implements OnInitListener, UtteranceProgressListener {
private TextToSpeech mTts;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 初始化TextToSpeech對象
mTts = new TextToSpeech(this, this);
// 設(shè)置語速,范圍為0.1到10.0,1.0為正常語速
float speechRate = 1.5f; // 你可以設(shè)置任意值,這里設(shè)置為1.5倍速
mTts.setSpeechRate(speechRate);
// 設(shè)置文本內(nèi)容
String text = "這是一個示例文本。";
mTts.speak(text, TextToSpeech.QUEUE_FLUSH, null);
}
@Override
public void onInit(int status) {
if (status == TextToSpeech.SUCCESS) {
Log.d("TextToSpeech", "初始化成功");
} else {
Log.e("TextToSpeech", "初始化失敗");
}
}
@Override
public void onStart(Utterance utterance) {
Log.d("TextToSpeech", "開始說話");
}
@Override
public void onStop() {
Log.d("TextToSpeech", "停止說話");
}
@Override
public void onPause() {
Log.d("TextToSpeech", "暫停說話");
}
@Override
public void onResume() {
Log.d("TextToSpeech", "恢復說話");
}
@Override
public void onError(int errorCode) {
Log.e("TextToSpeech", "發(fā)生錯誤: " + errorCode);
}
}
在這個示例中,我們首先創(chuàng)建了一個TextToSpeech對象,并實現(xiàn)了OnInitListener
接口以便在初始化完成后進行操作。然后,我們使用setSpeechRate()
方法設(shè)置了語速,這里的值是一個浮點數(shù),范圍從0.1到10.0,其中1.0代表正常語速。最后,我們調(diào)用speak()
方法開始說話。