TextToSpeechクラスにUIがない場合、別のクラスからTextToSpeechクラスを呼び出す方法..アプリケーションでメインクラスが使用するレイアウトは1つだけです。アプリはANSTextToSpeech App。UIなしで呼び出す
答えて
//decleration
TextToSpeech talker;
Button speakButton;
//onCreate
talker = new TextToSpeech(this, this);
speakButton=new Button(this);
// Check to see if a recognition activity is present
PackageManager pm = getPackageManager();
List<ResolveInfo> activities = pm.queryIntentActivities(
new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH), 0);
if (activities.size() != 0) {
speakButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
startVoiceRecognitionActivity();
}
});
} else {
speakButton.setEnabled(false);
speakButton.setText("Recognizer not present");
}
/**
* Fire an intent to start the speech recognition activity.
*/
private void startVoiceRecognitionActivity() {
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "Speech recognition demo");
startActivityForResult(intent, VOICE_RECOGNITION_REQUEST_CODE);
}
/**
* Handle the results from the recognition activity.
*/
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == VOICE_RECOGNITION_REQUEST_CODE && resultCode == RESULT_OK) {
// Fill the list view with the strings the recognizer thought it could have heard
ArrayList<String> matches = data.getStringArrayListExtra(
RecognizerIntent.EXTRA_RESULTS);
// Toast.makeText(VoiceRecognition.this, matches.get(0), 5000).show();
String device = "Bedroom";
/* mList.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,
matches));
*/
txt.setText(""+matches.get(0));
String host = "http://web2.anzleads.com/Android/nimboPani/web-service.php?tmote=";
String userCommand = URLEncoder.encode(matches.get(0));
String deviceSelected = "&org=" + device;
res = getServerResponse(host + userCommand + deviceSelected);
say(""+ res);
Toast.makeText(VoiceRecognition.this,res ,5000).show();
}
super.onActivityResult(requestCode, resultCode, data);
}
public void say(String text2say){
talker.speak(text2say, TextToSpeech.QUEUE_FLUSH, null);
}
public void onInit(int status) {
// TODO Auto-generated method stub
// say("Hello World");
}
public void onDestroy() {
if (talker != null) {
talker.stop();
talker.shutdown();
}
super.onDestroy();
}
public String getServerResponse(String url)
{
String result = "";
HttpClient hc = new DefaultHttpClient();
HttpResponse hr ;
HttpGet hg = new HttpGet(url);
try
{
hr = hc.execute(hg);
if(hr.getStatusLine().getStatusCode() == 200)
{
HttpEntity he = hr.getEntity();
if (he != null)
{
InputStream is = he.getContent();
result = convertStreamToString(is);
is.close();
}
}
}
catch (Exception e) {
// TODO: handle exception
}
return result;
}
private String convertStreamToString(InputStream instream) {
BufferedReader reader = new BufferedReader(new InputStreamReader(instream));
StringBuilder sb = new StringBuilder();
String line = null;
try {
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
instream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return sb.toString();
}
@Sodhi Sir私はStartActivity関数を使用していないので、私はダイアログを表示する必要はありません..あなたはこのコードで何が起こっているか詳細を教えてくださいできます。ありがとう – Shah
@Sodhi Sir wantアプリケーションがデータベースに格納されているいくつかの文章だけを話すようにする..サーバからではありません..ありがとう – Shah
このコードは基本的に音声ウィジェットの音声認識の音声認識に関するものです.Windowsのstart_btnをクリックするとこのコードが実行されます&あなたが話しているものは、自動的にあなたの話し言葉をtext.Butに変換します。しかし、このコードはあなたの要件に精通していないと思います。あなたは特定の言葉とセンテンスのmp3ファイルを使用する過去のアプリでこのような状況があるので、あなたはアンドロイド&そのソリューションは確かに動作するメディアプレーヤーオブジェクトで特定の文のmp3ファイルを使用することがあります..... –
あなたはUIやテキスト読み上げを使用するための活動を持っている必要はありません。..状況に応じてユーザと対話話します。
- 1. UI表示なしのTextToSpeechアクティビティの呼び出し
- 2. Ajax呼び出しのApp
- 3. トークバックが中断したときにTextToSpeechのUtteranceProgressListenerが呼び出されない
- 4. Appヘッダーの呼び出し関数を呼び出す
- 5. Swagger UIの呼び出し呼び出しURL
- 6. UIからのシェルスクリプトの呼び出し
- 7. UIテストの呼び出しボタン?
- 8. のjQuery UI - 呼び出しハイライト/エラー
- 9. API呼び出しブロックUIスレッドSwift
- 10. App Appの購入時にSKPaymentTransactionStateRestoredが呼び出されない
- 11. PowerAppsがAzure API Appを呼び出す
- 12. doInBackgroundメソッドでUIまたはUIスレッドを呼び出す方法
- 13. jQuery UIコンストラクターを呼び出す
- 14. 同じサービスを呼び出すWebサービスとWebアプリケーションを呼び出すWin-app
- 15. Spotify App API呼び出しが返されない
- 16. setTimeout不正な呼び出しTypeError:不正な呼び出し
- 17. プライマリアカウントにアクセスして自分のUIで呼び出す
- 18. 非同期呼び出しでui-gridを作成する
- 19. ui-router $ブラウザのリロードで$ transitionフックが呼び出されない
- 20. 具体的なクラスのメソッド呼び出しを呼び出す
- 21. Android AppでのAlfrescoのリモートWebScript呼び出し。
- 22. デザインパターントラッキングメソッド呼び出し/呼び出し側
- 23. 角度UI-Router:親なしで子状態を呼び出す方法
- 24. onTouch onDrawを呼び出してonTrawを呼び出します - スムーズでない
- 25. UI-Gridでのバックエンドサービスの拡張と呼び出し
- 26. noConflict()を呼び出した後、jQuery UIがMootoolsで動作しない
- 27. Rate Limit API Google App EngineでDjangoでAPIを呼び出す
- 28. defrecordコンストラクタで呼び出しを呼び出しますか?
- 29. SOAP UIでテストケース内でテストケースを呼び出す
- 30. UIスレッドで同期メソッドを非同期で呼び出す
100%重複http://stackoverflow.com/questions/4771562/call-texttospeech-activity-without-any-ui-display – asktomsk
@asktomsk Sir私はいくつかの解決策を得たいですsomeNoneをコピーするつもりはありませんでした: )..だから.. :) – Shah