編輯:Android開發實例
在Android 中使用語音播放功能 只需要使用類 TextToSpeech ,該類實現了很多關於語音的功能,使用該類必須為其設置語言,現在支持五種語言,杯具的是不支持中文
實現很簡單 不過首先要安裝語言包 這個在設置--》語音輸入和輸出設置--》文字轉語音設置
如下圖
左邊圖中 安裝語音數據 我這裡已經安裝成功了 所以是灰色的 如果沒有安裝這裡就可以點 其他地方都是灰色的
安裝文件4.28M 下載安裝完成後就可以選擇語言了 右圖所示的五種語言 沒有中文啊
下面來看實現 很簡單
首先是layout文件:
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- >
- <EditText
- android:id="@+id/EditText01"
- android:layout_width="fill_parent"
- android:text="I hope so, because it's time to wake up."
- android:layout_height="wrap_content"
- />
- <Button
- android:id="@+id/Button01"
- android:text="開始播放"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- />
- </LinearLayout>
就是播放EditText中的內容
Acitivity中
- import java.util.Locale;
- import android.app.Activity;
- import android.os.Bundle;
- import android.speech.tts.TextToSpeech;
- import android.speech.tts.TextToSpeech.OnInitListener;
- import android.util.Log;
- import android.view.View;
- import android.view.View.OnClickListener;
- import android.widget.Button;
- import android.widget.EditText;
- public class VoisePlayDemo extends Activity {
- private TextToSpeech mSpeech;
- private Button btn;
- private EditText mEditText;
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- btn = (Button) findViewById(R.id.Button01);
- mEditText = (EditText) findViewById(R.id.EditText01);
- btn.setEnabled(false);
- //創建TextToSpeech對象
- mSpeech = new TextToSpeech(this, new OnInitListener() {
- @Override
- public void onInit(int status) {
- if (status == TextToSpeech.SUCCESS) {
- int result = mSpeech.setLanguage(Locale.US);
- if (result == TextToSpeech.LANG_MISSING_DATA
- || result == TextToSpeech.LANG_NOT_SUPPORTED) {
- Log.e("bb", "not use");
- } else {
- btn.setEnabled(true);
- }
- }
- }
- });
- btn.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View v) {
- mSpeech.speak(mEditText.getText().toString(),
- TextToSpeech.QUEUE_FLUSH, null);
- }
- });
- }
- @Override
- protected void onDestroy() {
- if (mSpeech != null) {
- mSpeech.stop();
- mSpeech.shutdown();
- }
- super.onDestroy();
- }
通過創建TextToSpeech類的實例 並在 onInit 初始化方法內判斷語音加載是否成功 確實很簡單了
就是不知道什麼時候可以支持中文啊
JSON代表JavaScript對象符號。它是一個獨立的數據交換格式,是XML的最佳替代品。本章介紹了如何解析JSON文件,並從中提取所需的信息。Android提供了四個
登錄應用程序的屏幕,詢問憑據登錄到一些特定的應用。可能需要登錄到Facebook,微博等本章介紹了,如何創建一個登錄界面,以及如何管理安全問題和錯誤嘗試。首先,必須定義兩
Android應用程序可以在許多不同地區的許多設備上運行。為了使應用程序更具交互性,應用程序應該處理以適合應用程序將要使用的語言環境方面的文字,數字,文件等。在本章中,我
JSON代表JavaScript對象符號。它是一個獨立的數據交換格式,是XML的最佳替代品。本章介紹了如何解析JSON文件,並從中提取所需的信息。Android提供了四個