2013-02-02 2 views
0

У меня есть вопросы относительно внедрения службы tts для Android. Вот сделка:tts Сообщение об обслуживании в android

-У посмотрел Flite кода, и я вижу, что служба требует, чтобы эти 3 вида деятельности:

<activity 
     android:name=".DownloadVoiceData" 
     android:label="@string/flite_voice_manager" 
     android:theme="@android:style/Theme.Holo" 
     android:configChanges="orientation"> 
     <intent-filter> 
      <action android:name="android.speech.tts.engine.INSTALL_TTS_DATA" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
     </intent-filter> 
    </activity> 
    <activity 
     android:name=".CheckVoiceData" 
     android:label="@string/app_name" 
     android:theme="@android:style/Theme.Translucent.NoTitleBar" > 
     <intent-filter> 
      <action android:name="android.speech.tts.engine.CHECK_TTS_DATA" /> 

      <category android:name="android.intent.category.DEFAULT" /> 
     </intent-filter> 
    </activity> 
    <activity 
     android:name=".GetSampleText" 
     android:label="@string/app_name" 
     android:theme="@android:style/Theme.Translucent.NoTitleBar" > 
     <intent-filter> 
      <action android:name="android.speech.tts.engine.GET_SAMPLE_TEXT" /> 

      <category android:name="android.intent.category.DEFAULT" /> 
     </intent-filter> 
    </activity> 

Фактические действия этих мероприятий являются самостоятельной объяснимы, но я хочу знать: Являются ли они обязательными, как они работают .... У меня есть Google, но не повезло.

  1. Может ли кто-нибудь указать на какую-либо документацию, где объясняются эти действия?

  2. Кроме того, существует ли какая-либо документация по обслуживанию обслуживания tts в деталях?

Thanx заранее.

+0

Что вы пытаетесь достичь, в обычных случаях вам не нужно беспокоиться об этих классах/действиях, потому что они автоматически вызываются двигателем tts? –

+0

Я хочу узнать больше о них. Каковы данные, которые я должен предоставить, какие компоненты должны иметь в xml для каждого вида деятельности? Нужны ли они мне? Что делать, если я хочу загрузить аудиофайлы устройств через usb и т. Д. – someone

+0

Извините, о моем предыдущем ответе, я говорил о ASR, так или иначе, вот ссылка на его документацию по http://developer.android.com/reference /android/speech/tts/package-summary.html также android использует двигатель pico tts в случае, если вы хотите знать о его двигателе. Извините за путаницу –

ответ

0

CheckVoiceData необходимо, так как он может быть вызван клиентом, желающим узнать, будет ли работать двигатель. Я думаю, что вы можете жить без двух других, по крайней мере, в течение некоторого времени.

<activity android:name=".CheckVoiceData" 
      android:theme="@android:style/Theme.NoDisplay"> 
     <intent-filter> 
      <action android:name="android.speech.tts.engine.CHECK_TTS_DATA" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
     </intent-filter> 
    </activity> 

В CheckVoiceData.onCreate() вы будете делать что-то вроде этого:

ArrayList<String> askedToCheck = intent.getStringArrayListExtra(TextToSpeech.Engine.EXTRA_CHECK_VOICE_DATA_FOR); 
    // if it is null, they usually check and report all available languages. 


    ArrayList<String> available = new ArrayList<String>(); 
    ArrayList<String> unavailable = new ArrayList<String>(); 

    //... 

    Intent returnData = new Intent(); 
    returnData.putStringArrayListExtra(
      TextToSpeech.Engine.EXTRA_AVAILABLE_VOICES, available); 
    returnData.putStringArrayListExtra(
      TextToSpeech.Engine.EXTRA_UNAVAILABLE_VOICES, unavailable); 
    setResult(result, returnData); 
    finish(); 

Пример правильной строки языка является "eng-USA".

Смежные вопросы