贫穷限制了我那么多,为什么没有限制我的体重?

adroid TTS编程(文字转语音)

功能就是让手机读出来你写的字。TTS就是Text To Speech废话不说,直接上代码:

/*
 * 这个程序是将文字转换成语音
 * 作者:追梦
 * 时间:2014年6月6日
 * 邮箱:pjkui@qq.com
 * */

package com.example.tts;

import java.util.Locale;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.speech.tts.TextToSpeech;
import android.speech.tts.TextToSpeech.Engine;
import android.speech.tts.TextToSpeech.OnInitListener;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends Activity implements OnInitListener{
	
	@Override
	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		// TODO Auto-generated method stub
		
		//super.onActivityResult(requestCode, resultCode, data);
		if(requestCode==REQ_TTS_STATUS_CHECK)
		{
			switch(resultCode)
			{
			case TextToSpeech.Engine.CHECK_VOICE_DATA_PASS:
				mTts=new TextToSpeech(this,this);
				Log.v(TAG,"TTS is Installed!");
				break;
			case TextToSpeech.Engine.CHECK_VOICE_DATA_BAD_DATA:
				break;
			case TextToSpeech.Engine.CHECK_VOICE_DATA_MISSING_DATA:
				break;
			case TextToSpeech.Engine.CHECK_VOICE_DATA_MISSING_VOLUME:
				//缺少需要语言的发音数据
				Log.v(TAG,"Need language stuff:"+resultCode);
				Intent dataIntent = new Intent();
				dataIntent.setAction(TextToSpeech.Engine.ACTION_CHECK_TTS_DATA);
				startActivity(dataIntent);
				break;
			case TextToSpeech.Engine.CHECK_VOICE_DATA_FAIL:
				//检查失败
				break;
				default :
					Log.v(TAG, "Got a failure");
					break;
			}
		}
	}

	@Override
	protected void onDestroy() {
		// TODO Auto-generated method stub
		super.onDestroy();
		mTts.shutdown();
	}

	@Override
	protected void onPause() {
		// TODO Auto-generated method stub
		super.onPause();
		if(mTts!=null)
		{
			mTts.stop();
		}
	}

	private EditText inputText=null;
	private Button speakBtn=null;
	private static final int REQ_TTS_STATUS_CHECK=0;
	private static final String TAG="TTS Demo";
	private TextToSpeech mTts;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		//检测TTS数据是否已经安装且可以使用
		Intent checkIntent= new Intent();
		checkIntent.setAction(TextToSpeech.Engine.ACTION_CHECK_TTS_DATA);
		startActivityForResult(checkIntent,REQ_TTS_STATUS_CHECK);
		inputText=(EditText) findViewById(R.id.inputText);
		speakBtn=(Button) findViewById(R.id.SpeakBtn);
		inputText.setText("This a example of speech synthesis");
		speakBtn.setOnClickListener(new OnClickListener(){
					public void onClick(View v)
					{
						mTts.speak(inputText.getText().toString(), TextToSpeech.QUEUE_ADD, null);
					}
				});
		
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

	@Override
	public void onInit(int status) {
		// TODO Auto-generated method stub
		if(status==TextToSpeech.SUCCESS)
		{
			int result=mTts.setLanguage(Locale.US);
			if(result==TextToSpeech.LANG_MISSING_DATA||result==TextToSpeech.LANG_NOT_SUPPORTED)//判断语言是否可用
			{//如果不支持
				Log.v(TAG,"语言不可用");
				speakBtn.setEnabled(false);	
			
			}
			else
			{
				mTts.speak("this is an example of speech example", TextToSpeech.QUEUE_ADD, null);
				speakBtn.setEnabled(true);
			}
		}
	}//end of oninit()

}


标签android 编程,TTS

最新评论