终于研究出在系统上实现文字转语音功能,可以实现本公司的语音导航功能了

以下是语音功能主要代码:

首先,当然是要在手机上安装tts语音引擎包,然后安装tts语音中文包,在设置语音里找到引擎设置、语音设置:

终于研究出在系统上实现文字转语音功能,可以实现本公司的语音导航功能了

终于研究出在系统上实现文字转语音功能,可以实现本公司的语音导航功能了

终于研究出在系统上实现文字转语音功能,可以实现本公司的语音导航功能了

讯飞公司为什么在以上界面设了我的一朋友名字“晓燕”上去呀,O(∩_∩)O哈哈~

终于研究出在系统上实现文字转语音功能,可以实现本公司的语音导航功能了

讯飞公司为什么在以上界面设了我的一朋友名字“晓燕”上去呀,O(∩_∩)O哈哈~

设好之后:

权限:

<uses-permission android:name="android.permission.READ_PHONE_STATE"/>

    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

    <uses-permission android:name="android.permission.INTERNET"></uses-permission>

    <uses-permission android:name="android.permission.CALL_PHONE"></uses-permission>

    <uses-permission android:name="android.permission.SEND_SMS"></uses-permission>

    <uses-permission android:name="android.permission.RECEIVE_SMS"></uses-permission>

    <uses-permission android:name="android.permission.READ_PHONE_STATE" />

    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

主要代码:.java :

package com.xmb.test1;



import java.util.Locale;



import android.app.Activity;

import android.content.Context;

import android.content.Intent;

import android.os.Bundle;

import android.speech.tts.TextToSpeech;

import android.speech.tts.TextToSpeech.OnInitListener;

import android.telephony.TelephonyManager;

import android.util.Log;



/** activity **/

public class MainActivity extends Activity implements OnInitListener{

    TextToSpeech tts;



    @Override

    protected void onCreate(Bundle savedInstanceState) {

        // TODO Auto-generated method stub

        super.onCreate(savedInstanceState);

        tts=new TextToSpeech(this,this);

        //tts.speak("i like English", TextToSpeech.QUEUE_FLUSH, null); 

        Intent intent =new Intent();

        intent.setAction(TextToSpeech.Engine.ACTION_CHECK_TTS_DATA);

        startActivityForResult(intent,0);

        

    }



    @Override

    protected void onActivityResult(int requestCode, int resultCode, Intent data) {

        // TODO Auto-generated method stub

        if(requestCode==0){

        switch(resultCode){

        case TextToSpeech.Engine.CHECK_VOICE_DATA_PASS:

            Log.i("out", "ok");

            break;

        case TextToSpeech.Engine.CHECK_VOICE_DATA_BAD_DATA:

            Log.i("out", "bad");

            break;

        case TextToSpeech.Engine.CHECK_VOICE_DATA_MISSING_DATA:

            Log.i("out", "miss");

            break;

        case TextToSpeech.Engine.CHECK_VOICE_DATA_FAIL:

            Log.i("out", "fail");

            break;

        case TextToSpeech.Engine.CHECK_VOICE_DATA_MISSING_VOLUME:

            Log.i("out", "missing");

            break;

        }

        }

        super.onActivityResult(requestCode, resultCode, data);

    }



    @Override

    public void onInit(int status) {

        // TODO Auto-generated method stub

        int result = 0;

        if(status==TextToSpeech.SUCCESS){

            result = tts.setLanguage(Locale.UK);

            Log.i("out","result support ok!");

        }

        if(result==TextToSpeech.LANG_MISSING_DATA||result==TextToSpeech.LANG_NOT_SUPPORTED){

            Log.i("out","result no support!");

        }

        tts.speak("i like English and i like Android", TextToSpeech.QUEUE_ADD, null);

    }

    

}

初始化TextToSpeech时候,就会调用onInit()方法

你可能感兴趣的:(系统)