001. package com.tts.demo;
002.
003. import com.iflytek.cloud.ErrorCode;
004. import com.iflytek.cloud.InitListener;
005. import com.iflytek.cloud.SpeechConstant;
006. import com.iflytek.cloud.SpeechError;
007. import com.iflytek.cloud.SpeechSynthesizer;
008. import com.iflytek.cloud.SpeechUtility;
009. import com.iflytek.cloud.SynthesizerListener;
010.
011. import android.os.Bundle;
012. import android.app.Activity;
013. import android.util.Log;
014. import android.view.Menu;
015. import android.view.View;
016. import android.view.View.OnClickListener;
017. import android.widget.Button;
018.
019. public class MainActivity extends Activity implements OnClickListener{
020.
021. private SpeechSynthesizer mySynthesizer;
022.
023. private Button tts_Button;
024.
025. @Override
026. protected void onCreate(Bundle savedInstanceState) {
027. super .onCreate(savedInstanceState);
028. setContentView(R.layout.activity_main);
029.
030. tts_Button = (Button) findViewById(R.id.tts_button);
031. tts_Button.setOnClickListener( this );
032. /*
033. 在使用语音平台上传应用包的时候会自定生成一个appid 应该使用与包相对应的appid在申请提交后没有使用次数的限制
034.
035. */
036. //语音初始化,在使用应用使用时需要初始化一次就好,如果没有这句会出现10111初始化失败
037. SpeechUtility.createUtility(MainActivity. this , "appid=51e8ae25" );
038. //处理语音合成关键类
039. mySynthesizer = SpeechSynthesizer.createSynthesizer( this , myInitListener);
040. }
041.
042. private InitListener myInitListener = new InitListener() {
043. @Override
044. public void onInit( int code) {
045. Log.d( "mySynthesiezer:" , "InitListener init() code = " + code);
046. }
047. };
048.
049. @Override
050. public void onClick(View v) {
051. // TODO Auto-generated method stub
052. switch (v.getId()){
053. case R.id.tts_button:
054. //设置发音人
055. mySynthesizer.setParameter(SpeechConstant.VOICE_NAME, "xiaoyan" );
056. //设置音调
057. mySynthesizer.setParameter(SpeechConstant.PITCH, "50" );
058. //设置音量
059. mySynthesizer.setParameter(SpeechConstant.VOLUME, "50" );
060. int code = mySynthesizer.startSpeaking( "欢迎使用语音导航!" , mTtsListener);
061. Log.d( "mySynthesiezer start code:" , code+ "" );
062. break ;
063. default :
064. break ;
065. }
066. }
067.
068.
069. private SynthesizerListener mTtsListener = new SynthesizerListener() {
070. @Override
071. public void onSpeakBegin() {
072. }
073. @Override
074. public void onSpeakPaused() {
075. }
076. @Override
077. public void onSpeakResumed() {
078. }
079. @Override
080. public void onBufferProgress( int percent, int beginPos, int endPos,
081. String info) {
082. }
083. @Override
084. public void onSpeakProgress( int percent, int beginPos, int endPos) {
085. }
086.
087. @Override
088. public void onCompleted(SpeechError error) {
089. if (error!= null )
090. {
091. Log.d( "mySynthesiezer complete code:" , error.getErrorCode()+ "" );
092. }
093. else
094. {
095. Log.d( "mySynthesiezer complete code:" , "0" );
096. }
097. }
098. };
099.
100. }
|