преобразование преобразования текста в речь - PullRequest
1 голос
/ 16 июня 2011
     private TextToSpeech tts;
 @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.game);
        tts = new TextToSpeech(this,(OnInitListener) clickball); 
 }

 OnClickListener clickball=new OnClickListener() {

        @Override
        public void onClick(View v) {

            score=scorenumber.nextInt(8);
            ballid=v.getId();

            if(score==4)
                {
            playgame(ballid,Integer.toString(score));
 dynamic_image.setBackgroundDrawable(getResources().getDrawable(R.drawable.four_01));
                    dynamic_image.setVisibility(0x000000);
                    disablelayout();
                    timerfunc1(dynamic_image,R.drawable.four_02);


                    tts.setLanguage(Locale.US); 
                    tts.speak("Four", TextToSpeech.QUEUE_FLUSH, null); 
                    dynamic_image.postDelayed(new Runnable(){             
                         @Override             
                         public void run() {   
                             dynamic_image.setBackgroundDrawable(getResources().getDrawable(R.drawable.score4));
                             dynamic_image.setVisibility(0x000000);      
                             timerfunc(dynamic_image);
                         }         
                         }, 2200);
                    enablelayout4();

                }
   }

Приведенный выше мой исходный код. Но он выдает исключение classcast, когда он запускается .. я хочу преобразовать текст "Four" в речь, когда счет равен 4.plz, кто-нибудь поможет мне ... я знаю, приведенные ниже строки кода, генерирующего исключение. но я не знаю, как его решить ..

          tts = new TextToSpeech(this,(OnInitListener) clickball); 

1 Ответ

0 голосов
/ 16 июня 2011

я получил ответ ... я дал имя clicklistener в

    tts = new TextToSpeech(this,(OnInitListener) clickball);    

на самом деле мне пришлось дать имя OnInitListener там. Я изменил код следующим образом ..

fisrtреализовать TextToSpeech.OnInitListener и добавить его не реализованный метод (OnInit).

 private TextToSpeech tts;
 @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.game);
         tts = new TextToSpeech(this,this); 
OnClickListener clickball=new OnClickListener() {

        @Override
        public void onClick(View v) {

            score=scorenumber.nextInt(8);
            ballid=v.getId();
            if (totalovers==0)
            {

                gameover();
                return;
            }
            if(score==4)
                {
                    playgame(ballid,Integer.toString(score));
                    dynamic_image.setBackgroundDrawable(getResources().getDrawable(R.drawable.four_01));
                    dynamic_image.setVisibility(0x000000);
                    disablelayout();
                    timerfunc1(dynamic_image,R.drawable.four_02);

                    currentScore ="FOUR";
                    tts.setLanguage(Locale.US); 
                    tts.speak(currentScore, TextToSpeech.QUEUE_FLUSH, null);

                    dynamic_image.postDelayed(new Runnable(){             
                         @Override             
                         public void run() {   
                             dynamic_image.setBackgroundDrawable(getResources().getDrawable(R.drawable.score4));
                             dynamic_image.setVisibility(0x000000);      
                             timerfunc(dynamic_image);
                         }         
                         }, 2000);
                    enablelayout4();

                }
             }

   @Override      
    public void onInit(int status) {
        // TODO Auto-generated method stub

    }

это решило мою проблему ...

...