在 Android 平台上开发 TTS 应用

红薯 发布于 2009/06/24 23:16
阅读 5K+
收藏 5

1 Introduction

The Text-To-Speech (TTS) library is allows developers to add speech to their applications. Developers give the TTS object a text string, and the TTS will take care of converting that string to text and speaking it to the user.

The TTS library is designed such that different underlying speech engines can be used without affecting the higher level application logic. Currently, a port of the eSpeak engine is available.

2 Requirements

Using the eSpeak engine requires the user to have an SD card with free space available that the phone can access. The voice data for eSpeak will be downloaded and unzipped onto the SD card when the TTS is first run.

Note that if the SD card is mounted on the computer, it will not be accessible to the phone. You must unmount the SD card from the computer before the TTS will work properly.

3 Setting Up an Eclipse Project That Uses the TTS

  1. Setup an Android project as you would normally.
  2. Go to Project > Properties > Java Build Path > Libraries and click on "Add External JARs..." Then add in the TTS_library_stub.jar file.
  3. Start coding!

4 A Step-By-Step Tutorial To Get You Started

This tutorial will take you step-by-step through writing a simple Hello World application. It assumes that you have Eclipse setup to work with the Android SDK already.

  1. Get the TTS_library_stub.jar file from the downloads area. If you want to develop against the upcoming release, get the release candidate version by grabbing the _rc.jar and installing the _rc.apk on your phone. If you want to develop against the version of the TTS that is currently on Market, get the _market.jar and install the TTS from the Android Market. You should always build your app using the _market version before you release it on the Market; otherwise, there is a high probability that your app will not work correctly as most users will be on the Market version of the TTS and not the release candidate.
  2. Start Eclipse. Go to "File" > "New Project" > "Project..." and choose "Android Project" under "Android". Fill out the information and click "Finish" to generate the skeleton for a project. The rest of this tutorial assumes that you named your application "HelloWorldTTS".
  3. Select your project in the "Package Explorer", then go to "Project" > "Properties". Select "Java Build Path" and click on the "Libraries" tab. Click on "Add external JARs..." and select the TTS_library_stub.jar from step 1.
  4. You should see two Java files in your project: HelloWorldTTS.java and R.java. Open HelloWorldTTS.java and do the following: -In the imports section at the top of the file, add this line:
    import com.google.tts.TTS;
    -After the line "public class HelloWorldTTS extends Activity {", add this line:
    private TTS myTts;
    -Add the following as the last line of the onCreate method:
    myTts = new TTS(this, ttsInitListener, true);
    -After the onCreate method, add these lines:
        private TTS.InitListener ttsInitListener = new TTS.InitListener() {
    public void onInit(int version) {
    myTts.speak("Hello world", 0, null);
    }
    };
  5. Now you should have a HelloWorldTTS.java that looks something like this.
  6. Build this app, install it on your Android device, and run it. You should hear the TTS say "hello world" if you have the TTS library installed on the phone and your SD card contains the needed voice data files.
    • If you do not have the TTS library installed on the phone, you will be prompted to install it.
    • If this is the first time you have used an app that uses the TTS, you will hear the TTS spell out "h e l l o w o r l d" very fast and see a screen that says your device is downloading the voice data files; if you rerun the app, you will hear the TTS say "hello world" as it should.
  7. Congratulations! You just wrote your first TTS-enabled Android app! Please see the documentation on the TTS and look at other apps in the eyes-free project to learn more about how to use the TTS.

Notes:

  • The TTS constructor takes 3 parameters: the application Context, the TTS.InitListener to call upon successful initialization of the TTS, and whether or not to show a message prompting the user to install the TTS from the Market if they have not done so already.
  • The speak call takes 3 parameters: the String of text to be spoken, an int that indicates the queuing strategy (0 for no queuing, 1 for fifo queuing), and an array of Strings that are parameters for how to speak the text.
  • The first time you run an app that uses the TTS, if you do not already have the necessary voice data files on your SD card, they will be downloaded automatically.

5 Tips and Tricks on Using the TTS in Your App

For some tips and tricks on using the TTS in your app, please see the usage notes here.

加载中
0
kevin.gan
kevin.gan

正需要,谢谢分享

0
yzp531
yzp531
能不能帮忙写一个实例啊
0
公子扶苏
公子扶苏
老大。你让我说什么好,,正要用的这个呢~
返回顶部
顶部