2012-05-13 13 views
1

"Welcome our system"のように、私のAndroidアプリケーションのオープニングで音声メッセージを出したいのですが、できません。アンドロイドアプリケーションにオーディオメッセージを追加するにはどうすればよいですか?

コード:

public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

      String text="Welcome to our location based system"; 
      if (text!=null && text.length()>0)    
      { 
       Toast.makeText(SimpleAudioTestActivity.this, "Saying: " + text, Toast.LENGTH_LONG).show(); 
       tts.speak(text, TextToSpeech.QUEUE_ADD, null); 
      }      

    Intent checkintent=new Intent(); 
    checkintent.setAction(TextToSpeech.Engine.ACTION_CHECK_TTS_DATA); 
    startActivityForResult(checkintent, MY_DATA_CHECK_CODE); 
} 

私はボタンをクリックした後、それを行うと、それはokです:

public void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     but1=(Button) findViewById(R.id.button1); 
     but1.setonclickListener(new View.onclickListener() 
     { 

      @Override 
      public void onclick(View arg0) 
      { 
       String text="Welcome to our location based system"; 
       if (text!=null && text.length()>0)    
       { 
        Toast.makeText(SimpleAudioTestActivity.this, "Saying: " + text, Toast.LENGTH_LONG).show(); 
        tts.speak(text, TextToSpeech.QUEUE_ADD, null); 
       }      
      } 
     });   

     Intent checkintent=new Intent(); 
     checkintent.setAction(TextToSpeech.Engine.ACTION_CHECK_TTS_DATA); 
     startActivityForResult(checkintent, MY_DATA_CHECK_CODE); 
    } 

はどのように私はそれを行うことができますか?どんな提案もお願いします。

答えて

0

あなたはMediaPlayerを作成し、そのファイル

+0

私は私のコードで私はオーディオに変換される文字列を取った理由のための音声変換テキストでそれを作りたい...... –

+0

は、なぜあなたは思わテキストのテキストを音声にしたいですか変更することはありませんか?また、テキスト音声はインターネット接続が必要です。 –

+0

私はメッセージを変更する必要はありません。私はすでに私のアプリでボタンをクリックした後にそれをしたが、アプリの起動にはできない。それは不可能ですか? –

0

を果たし、その後res/rawフォルダに(例えばmp3ファイルなど)あなたのオーディオファイルを置くことができますが、あなたが探しているものを、このですか?このコードは、文字列 'text'にあるテキストを、テキスト通語を使用して話します。 onCreateに配置します。

TextToSpeech speak; 


speak = new TextToSpeech(TextTalk.this, 
      new TextToSpeech.OnInitListener() { 

       @Override 
       public void onInit(int status) { 
        if (status != TextToSpeech.ERROR) { 
         speak.setLanguage(Locale.US); 
        } 
       } 
      }); 

speak.speak(text, TextToSpeech.QUEUE_FLUSH, null); 
+0

[こちら](http://www.jameselsey.co.uk/blogs/techblog/android-a-really-easy-tutorial-on-how-to-use-text-to-speech-tts-and-どのようにあなたが入力できるテキストとそれを持っているか)、それは助けになるはずです。 –

+0

ええ、それは動作します。ありがとう.. –

+0

このコードでは、私はTextToSpeechオブジェクトによってsetLanguageしようとしたときに出力がありませんし、出力のための文字列は別の言語のためにそれを行うことはできません。あなたのコードsayText.setLanguage(Locale.US)sayTextは何を意味しますか? –

関連する問題