Search in sources :

Example 86 with TextToSpeech

use of android.speech.tts.TextToSpeech in project android_packages_apps_Settings by SudaMod.

the class TextToSpeechSettings method onResume.

@Override
public void onResume() {
    super.onResume();
    if (mTts == null || mCurrentDefaultLocale == null) {
        return;
    }
    if (!mTts.getDefaultEngine().equals(mTts.getCurrentEngine())) {
        try {
            mTts.shutdown();
            mTts = null;
        } catch (Exception e) {
            Log.e(TAG, "Error shutting down TTS engine" + e);
        }
        mTts = new TextToSpeech(getActivity().getApplicationContext(), mInitListener);
        setTtsUtteranceProgressListener();
        initSettings();
    } else {
        // Do set pitch correctly after it may have changed, and unlike speed, it doesn't change
        // immediately.
        final ContentResolver resolver = getContentResolver();
        mTts.setPitch(android.provider.Settings.Secure.getInt(resolver, TTS_DEFAULT_PITCH, TextToSpeech.Engine.DEFAULT_PITCH) / 100.0f);
    }
    Locale ttsDefaultLocale = mTts.getDefaultLanguage();
    if (mCurrentDefaultLocale != null && !mCurrentDefaultLocale.equals(ttsDefaultLocale)) {
        updateWidgetState(false);
        checkDefaultLocale();
    }
}
Also used : Locale(java.util.Locale) TextToSpeech(android.speech.tts.TextToSpeech) MissingResourceException(java.util.MissingResourceException) ActivityNotFoundException(android.content.ActivityNotFoundException) ContentResolver(android.content.ContentResolver)

Example 87 with TextToSpeech

use of android.speech.tts.TextToSpeech in project android_packages_apps_Settings by SudaMod.

the class TextToSpeechSettings method onCreate.

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    addPreferencesFromResource(R.xml.tts_settings);
    getActivity().setVolumeControlStream(TextToSpeech.Engine.DEFAULT_STREAM);
    mEnginesHelper = new TtsEngines(getActivity().getApplicationContext());
    mLocalePreference = (ListPreference) findPreference(KEY_ENGINE_LOCALE);
    mLocalePreference.setOnPreferenceChangeListener(this);
    mDefaultPitchPref = (SeekBarPreference) findPreference(KEY_DEFAULT_PITCH);
    mDefaultRatePref = (SeekBarPreference) findPreference(KEY_DEFAULT_RATE);
    mActionButtons = (LayoutPreference) findPreference(KEY_ACTION_BUTTONS);
    mPlayButton = (Button) mActionButtons.findViewById(R.id.tts_play_button);
    mPlayButton.setOnClickListener(this);
    mPlayButton.setEnabled(false);
    mResetButton = (Button) mActionButtons.findViewById(R.id.tts_reset_button);
    mResetButton.setOnClickListener(this);
    if (savedInstanceState == null) {
        mLocalePreference.setEnabled(false);
        mLocalePreference.setEntries(new CharSequence[0]);
        mLocalePreference.setEntryValues(new CharSequence[0]);
    } else {
        // Repopulate mLocalePreference with saved state. Will be updated later with
        // up-to-date values when checkTtsData() calls back with results.
        final CharSequence[] entries = savedInstanceState.getCharSequenceArray(STATE_KEY_LOCALE_ENTRIES);
        final CharSequence[] entryValues = savedInstanceState.getCharSequenceArray(STATE_KEY_LOCALE_ENTRY_VALUES);
        final CharSequence value = savedInstanceState.getCharSequence(STATE_KEY_LOCALE_VALUE);
        mLocalePreference.setEntries(entries);
        mLocalePreference.setEntryValues(entryValues);
        mLocalePreference.setValue(value != null ? value.toString() : null);
        mLocalePreference.setEnabled(entries.length > 0);
    }
    mTts = new TextToSpeech(getActivity().getApplicationContext(), mInitListener);
    setTtsUtteranceProgressListener();
    initSettings();
    // Prevent restarting the TTS connection on rotation
    setRetainInstance(true);
}
Also used : TtsEngines(android.speech.tts.TtsEngines) TextToSpeech(android.speech.tts.TextToSpeech)

Example 88 with TextToSpeech

use of android.speech.tts.TextToSpeech in project android_packages_apps_Settings by SudaMod.

the class TtsEnginePreferenceFragment method onCreate.

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    addPreferencesFromResource(R.xml.tts_engine_picker);
    mEnginePreferenceCategory = (PreferenceCategory) findPreference("tts_engine_preference_category");
    mEnginesHelper = new TtsEngines(getActivity().getApplicationContext());
    mTts = new TextToSpeech(getActivity().getApplicationContext(), null);
    initSettings();
}
Also used : TtsEngines(android.speech.tts.TtsEngines) TextToSpeech(android.speech.tts.TextToSpeech)

Example 89 with TextToSpeech

use of android.speech.tts.TextToSpeech in project platform_packages_apps_Settings by BlissRoms.

the class TextToSpeechSettings method onResume.

@Override
public void onResume() {
    super.onResume();
    if (mTts == null || mCurrentDefaultLocale == null) {
        return;
    }
    if (!mTts.getDefaultEngine().equals(mTts.getCurrentEngine())) {
        try {
            mTts.shutdown();
            mTts = null;
        } catch (Exception e) {
            Log.e(TAG, "Error shutting down TTS engine" + e);
        }
        mTts = new TextToSpeech(getActivity().getApplicationContext(), mInitListener);
        setTtsUtteranceProgressListener();
        initSettings();
    } else {
        // Do set pitch correctly after it may have changed, and unlike speed, it doesn't change
        // immediately.
        final ContentResolver resolver = getContentResolver();
        mTts.setPitch(android.provider.Settings.Secure.getInt(resolver, TTS_DEFAULT_PITCH, TextToSpeech.Engine.DEFAULT_PITCH) / 100.0f);
    }
    Locale ttsDefaultLocale = mTts.getDefaultLanguage();
    if (mCurrentDefaultLocale != null && !mCurrentDefaultLocale.equals(ttsDefaultLocale)) {
        updateWidgetState(false);
        checkDefaultLocale();
    }
}
Also used : Locale(java.util.Locale) TextToSpeech(android.speech.tts.TextToSpeech) MissingResourceException(java.util.MissingResourceException) ActivityNotFoundException(android.content.ActivityNotFoundException) ContentResolver(android.content.ContentResolver)

Example 90 with TextToSpeech

use of android.speech.tts.TextToSpeech in project platform_packages_apps_Settings by BlissRoms.

the class TtsEnginePreferenceFragment method updateDefaultEngine.

private void updateDefaultEngine(String engine) {
    Log.d(TAG, "Updating default synth to : " + engine);
    // Keep track of the previous engine that was being used. So that
    // we can reuse the previous engine.
    // 
    // Note that if TextToSpeech#getCurrentEngine is not null, it means at
    // the very least that we successfully bound to the engine service.
    mPreviousEngine = mTts.getCurrentEngine();
    // Step 1: Shut down the existing TTS engine.
    Log.i(TAG, "Shutting down current tts engine");
    if (mTts != null) {
        try {
            mTts.shutdown();
            mTts = null;
        } catch (Exception e) {
            Log.e(TAG, "Error shutting down TTS engine" + e);
        }
    }
    // Step 2: Connect to the new TTS engine.
    // Step 3 is continued on #onUpdateEngine (below) which is called when
    // the app binds successfully to the engine.
    Log.i(TAG, "Updating engine : Attempting to connect to engine: " + engine);
    mTts = new TextToSpeech(getActivity().getApplicationContext(), mUpdateListener, engine);
    Log.i(TAG, "Success");
}
Also used : TextToSpeech(android.speech.tts.TextToSpeech)

Aggregations

TextToSpeech (android.speech.tts.TextToSpeech)103 Test (org.junit.Test)34 Locale (java.util.Locale)18 TtsEngines (android.speech.tts.TtsEngines)15 ActivityNotFoundException (android.content.ActivityNotFoundException)12 Intent (android.content.Intent)12 ContentResolver (android.content.ContentResolver)10 MissingResourceException (java.util.MissingResourceException)10 IntentFilter (android.content.IntentFilter)8 TextView (android.widget.TextView)7 Config (org.robolectric.annotation.Config)7 BluetoothAdapter (android.bluetooth.BluetoothAdapter)6 Handler (android.os.Handler)6 UtteranceProgressListener (android.speech.tts.UtteranceProgressListener)6 ArrayAdapter (android.widget.ArrayAdapter)6 Context (android.content.Context)5 HashMap (java.util.HashMap)5 CountDownLatch (java.util.concurrent.CountDownLatch)5 Bundle (android.os.Bundle)4 AtomicReference (java.util.concurrent.atomic.AtomicReference)3