2012-03-01 98 views
0

我有一個要求,用戶可以選擇選擇語言,例如英語和法語。如何動態地將語言環境設置爲TTS引擎?

應用程序將具有一組活動和一個後臺服務,因此當應用程序啓動時,服務將啓動,並且TTS引擎將使用默認語言(英文in service(onInit()方法))進行初始化。我必須設置用戶在特定活動開始時將設置的語言。

那麼如何在運行時在TTS引擎中配置選定的語言環境?

我的觀察是,當服務啓動時,只有TTS引擎使用onInit()方法內的默認語言進行初始化,並且實例活動不可用,所以我們不會有任何已配置的語言細節,因此我們無法做到這一點但實際問題是我第二次開始如何更改TTS引擎的語言環境(當用戶從​​活動中選擇語言時),因爲我們無法在onInit()方法外使用mTts.setLanguage(Locale.FRENCH),如同你稱之爲它也不會反映TTS的變化。

所以請幫我解決這個問題。

回答

0

我發現在Android開發者博客這個博客帖子:

http://android-developers.blogspot.com/2009/09/introduction-to-text-to-speech-in.html

他們指出:

加載語言就像調用,例如簡單:

MTTS。 setLanguage(Locale.US);

將語言加載並設置爲英語,如在「美國」中所說的那樣。

我並沒有在Java中編寫TTS應用程序的經驗,但在我看來,在構建或初始化您的TTS引擎之前,您可以提示用戶使用他們的首選語言。使用該提示符,您應該可以將值傳遞給您的onInit()方法,該方法將指定您正在使用的語言包。

當用戶更改語言時,您是否有任何理由不能將TTS引擎重新初始化爲新語言?

我希望這個答案是有幫助的。祝您的項目好運。

+0

onInit是回調方法,它將在第一次啓動服務時調用,它將由android系統處理,因此我們不能再調用它來重新初始化它。但耶setAanguage方法可以幫助我解決這個問題。非常感謝你的幫助。 – piks 2012-03-01 07:11:49

相關問題