当前位置:编程学习 > wap >>

android项目,请大神们帮忙修改代码,把一个类封装成一个方法,在其他类中调用这个方法

下面的代码(转自http://blog.csdn.net/ichliebephone/article/details/5802044)
想改成一个方法(就是封装成一个方法),在另外一个类里面调用这个方法,但是另外一个类只是给他传一下参数,所以要把button去掉,也能实现功能才行跪求大神们帮帮忙

代码如下:
import java.util.Locale;
import android.app.Activity;
import android.content.Intent;
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 TTSDemo1Activity extends Activity implements OnInitListener{
    /** Called when the activity is first created. */
private EditText inputText;
private Button btn;
private String str="";
    private static final int REQ_TTS_STATUS_CHECK=0;
private static final String TAG="tts demo";
public TextToSpeech mtts;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.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.ttstext);
        btn=(Button) findViewById(R.id.btn);
        
        inputText.setText("input text");
           
        btn.setOnClickListener(new OnClickListener(){
        
@Override
public void onClick(View v) {
// TODO Auto-generated method stub

 str=inputText.getText().toString();  
 mtts.speak(str, TextToSpeech.QUEUE_ADD, null);
         }

        });
        
        
    }
    //实现tts初始化借口
@Override
public void onInit(int status) {
// TODO Auto-generated method stub
  //TTS Engine初始化完成  
if(status==TextToSpeech.SUCCESS)
{
int result=mtts.setLanguage(Locale.US);
 //设置发音语言 
if(result==TextToSpeech.LANG_MISSING_DATA|| result==TextToSpeech.LANG_NOT_SUPPORTED)
//判断语言是否可用 
{
Log.v(TAG, "language is not avalible");
btn.setEnabled(false);
}
else
{
mtts.speak("hello", TextToSpeech.QUEUE_ADD,null);
btn.setEnabled(true);
}
}

}


//这里启动一个新的Intent去检查TTS数据是否已经安装
protected void onActivityResult(int requestCode,int resultCode,Intent 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 Engine is installed!");
}
break;
case TextToSpeech.Engine.CHECK_VOICE_DATA_BAD_DATA:
//需要的语音数据已损坏  
case TextToSpeech.Engine.CHECK_VOICE_DATA_MISSING_DATA:  
      //缺少需要语言的语音数据  
case TextToSpeech.Engine.CHECK_VOICE_DATA_MISSING_VOLUME:  
     //缺少需要语言的发音数据  
{
//这三种情况都表明数据有错,重新下载安装需要的数据 
Log.v(TAG, "Need language stuff:"+resultCode);
Intent dataIntent=new Intent();
dataIntent.setAction(TextToSpeech.Engine.ACTION_INSTALL_TTS_DATA);
startActivity(dataIntent);

}
             break;
case TextToSpeech.Engine.CHECK_VOICE_DATA_FAIL:
//检查失败 
default:
Log.v(TAG, "got a failure,tts apparently not avaliable");
break;
}

}
else
{
//其他Intent返回的结果 
}
}

@Override  
protected void onPause() {  
   // TODO Auto-generated method stub  
   super.onPause();  
    if(mtts != null)  
       //activity暂停时也停止TTS  
   {  
        mtts.stop();  
    }  
}  
 
@Override  
protected void onDestroy() {  
    // TODO Auto-generated method stub  
    super.onDestroy();  
    //释放TTS的资源  
    mtts.shutdown();  
    }
}


tts,修改代码 android
补充:移动开发 ,  Android
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,