skip to main | skip to sidebar

Android Development Tutorial

Pages

  • Home
 
  • RSS
  • Twitter
Related Posts Plugin for WordPress, Blogger...
Thursday, October 25, 2012

Text-to-Speech capability for Android Devices

Posted by Raju Gupta at 3:34 AM – 0 comments
 

This code snippet described the Text-to-Speech (TTS) capability. Also known as "speech synthesis" for Android Devices. TTS enables Android device to "speak" text of different languages. Mostly all Android-powered devices that are supporting the TTS functionality comes with the TTS engine integrated. But some devices lacks it. There is an API available which checks the TTS engine and install it on device if it is not there.


 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.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class TextToSpeechActivity extends Activity implements OnInitListener {
 
 private int CURRENT_DATA_CHECK_CODE = 0;
 
  // Instance of TextToSpeech 
                     private TextToSpeech oTTS;
 
 // Object for the Editable Text Input
                     private EditText inputTextControl;
                     // Object for the button
 private Button speakButtonControl;
    
 @Override
    public void onCreate(Bundle savedInstanceState) {
  
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        inputTextControl = (EditText) findViewById(R.id.input_text);
        speakButtonControl = (Button) findViewById(R.id.speak_button);
        
        speakButtonControl.setOnClickListener(new OnClickListener() {   
   @Override
   public void onClick(View v) {
    String strText = inputTextControl.getText().toString();
    if (strText!=null && strText.length()>0) {
     Toast.makeText(TtsActivity.this, "Testing: " + strText, Toast.LENGTH_LONG).show();
     oTTS.speak(strText, TextToSpeech.QUEUE_ADD, null);
    }
   }
  });
        
        Intent checkIntent = new Intent();
  newIntent.setAction(TextToSpeech.Engine.ACTION_CHECK_TTS_DATA);
  // startActivityForResult will wait till the current intent will not be interpreted
                                           startActivityForResult(newIntent, CURRENT_DATA_CHECK_CODE);
  
    }
 
 protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  if (requestCode == CURRENT_DATA_CHECK_CODE) {
   if (resultCode == TextToSpeech.Engine.CHECK_VOICE_DATA_PASS) {
    // on successful call create the TTS instance
    oTTS = new TextToSpeech(this, this);
   } 
   else {
    // data may be missing so install it
    Intent installIntent = new Intent();
    installIntent.setAction(TextToSpeech.Engine.ACTION_INSTALL_TTS_DATA);
    startActivity(installIntent);
   }
  }

 }

 @Override
 public void onInit(int status) {  
  if (status == TextToSpeech.SUCCESS) {
   Toast.makeText(TtsActivity.this, 
     "Text-To-Speech engine has been initialized", Toast.LENGTH_LONG).show();
  }
  else if (status == TextToSpeech.ERROR) {
   Toast.makeText(TtsActivity.this, 
     "Error occurred initializing Text-To-Speech engine", Toast.LENGTH_LONG).show();
  }
 }
 
}

Email This BlogThis! Share to X Share to Facebook

Leave a Reply

Newer Post Older Post
Subscribe to: Post Comments (Atom)

More Technical Blogs

  • Tech Savvy - Technology Tips
  • PHP Video Tutorial
  • Java Programs with Output
  • C Programming Tutorial
  • Linux Tutorial
  • Language Tutorial
  • Web Development tutorial
  • Popular
  • Recent
  • Archives

Popular Posts

  • How to Program for Android: Video Tutorial 7 - Change you application Icon
    How to Change your application icon. Low density -- ldpi -- 36×36 px Medium density -- mdpi -- 48×48 px (correct size if only one drawa...
  • Android Dynamically generating views
    This code snippet will generate the textview and button at run time. //The layout LinearLayout01 should be predefined.In this layout you...
  • Reordering of listview
    Listview rows order can be changed using drag and drop functionality.Dragging should be enabled beyond the visible listview position. ...
Powered by Blogger.

Archives

  • ▼  2012 (44)
    • ▼  October (31)
      • Reordering of listview
      • Text-to-Speech capability for Android Devices
      • Android Stub uninstalling the existing client and ...
      • Tab creation in android screen
      • ListView Recordering by drag drop in Android
      • Android app for SimpleWiktionary
      • App in android for random quote generation
      • Implementing ListView-Adapter in Android
      • Extract all java classes from APK
      • Get XML from APK
      • Sending SMS from the Android Application
      • How to create Drop Down in Android
      • Android Page Navigation
      • To retrieve the cell info for Android device
      • Creating the enrty in the agenda for Android devices.
      • Test Application for Samsung Android devices
      • Color Picker from Image in Android
      • Image Switcher & Gallery in Android
      • Andorid application that listens to incoming sms
      • Accelerometer management for the Android devices
      • Alert box for Confirm
      • 3D Rotation in Android
      • Custom Bar Control for Android using Java
      • Creating Layouts TableRows and TextViews dynamical...
      • Android SeekBar
      • Dialing phone number from Google Android Application
      • Login Screen Creation using Android
      • Add a Progress Bar to Android based Mobile Screens
      • Adding a button to Android based mobile screens
      • Android Dynamically generating views
      • Timezone converter
    • ►  September (3)
    • ►  March (1)
    • ►  February (9)
  • ►  2011 (69)
    • ►  December (69)
 

Followers

Labels

  • Activities (9)
  • Andoird Menu (2)
  • Android timelineActivity. (1)
  • Android Adapter (1)
  • Android app (9)
  • Android App Inventor (1)
  • Android App Publishing (2)
  • Android Application Components (3)
  • Android Application Fundamental (2)
  • Android Architecture (1)
  • Android AsyncTask (1)
  • Android Basic (7)
  • Android Bootcamp Training (18)
  • Android Button Widget (3)
  • Android Custom Style (1)
  • Android Dialog (1)
  • Android Drawable (2)
  • Android Environment (1)
  • Android example (9)
  • Android File System (2)
  • Android Geolocation (2)
  • Android ImageView (1)
  • Android Installation (8)
  • Android intents (5)
  • Android lifecycle (1)
  • Android LIst (4)
  • Android Listener (4)
  • Android Manifest (3)
  • Android Market (1)
  • Android Notification (1)
  • Android Object (1)
  • Android Package File (1)
  • Android Platform (1)
  • Android service (4)
  • Android StatusActivity (1)
  • Android Theme Style (3)
  • Android Traceview (1)
  • Android UI (6)
  • Android Unit Testing (1)
  • Android Widget (4)
  • AndroidManifest.xml (4)
  • Application Icon (1)
  • Broadcast Receiver (2)
  • Content Providers (1)
  • Creating Activities (1)
  • Creating Custom Styles in Android (1)
  • Creating Multiple Activities (1)
  • Database (3)
  • draw9patch (1)
  • Eclipse (12)
  • Explicit Intents (2)
  • Explicit Intents Example (1)
  • Hello world with Android (1)
  • Helloworld with Android (5)
  • Implicit Intents (2)
  • Implicit Intents Example (1)
  • Layout View (3)
  • lifemichael (8)
  • Location Sensor (1)
  • Multiple Activities (2)
  • Netbeans (1)
  • OpenGL ES Graphics (1)
  • Passing Values with Intents (2)
  • Project Structure (1)
  • Retrieving Image URI from Intents (1)
  • Setting Android Environment (1)
  • SQLite (3)
  • TGENT (8)
  • UserGroupAtGoogle (8)
  • XML (1)
  • xtensive arts Training (11)
 
 
© 2011 Android Development Tutorial | Designs by Web2feel & Fab Themes

Bloggerized by DheTemplate.com - Main Blogger