1

「WelcomeourSystem」のように、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);
}

ボタンをクリックした後にそれを行うとき、それは大丈夫です:

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);
    }

どうやってやるの?任意の提案をお願いします。

4

2 に答える 2

0

これはあなたが探しているものですか?このコードは、texttospeech を使用して、文字列 '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);
于 2012-05-13T20:13:58.590 に答える
0

オーディオ ファイル (mp3 ファイルなど) をres/rawフォルダーに入れ、MediaPlayerそのファイルを作成して再生できます。

于 2012-05-13T17:55:43.633 に答える