我已經在Android中開發了我自己的TTS應用程序。有沒有辦法將TTS引擎部署到操作系統中,而不是運行TTS應用程序,以便其他應用程序可以調用我的TTS?像MS Window中的SAPI。 SVOX可以將引擎打包爲apk,並且在安裝之後,它會將新引擎添加到Andorid操作系統中,不知道我該怎麼做。將我的TTS引擎添加到Android TTS Serivce like SAPI
6
A
回答
4
要使文本到語音引擎顯示在可用服務列表中,您需要添加適當的活動和清單條目。
對於API 14以上,你需要擴展TextToSpeechService,你需要以下內容添加到您的清單:
<service
android:name=".MyTextToSpeechService"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.TTS_SERVICE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<meta-data
android:name="android.speech.tts"
android:resource="@xml/tts_engine" />
</service>
此引用RES/XML/tts_engine.xml,這應該是這樣的:
<?xml version="1.0" encoding="utf-8"?>
<tts-engine xmlns:android="http://schemas.android.com/apk/res/android"
android:settingsActivity="com.example.MyTtsSettingsActivity" />
您還需要添加各種輔助活動。這裏就是你會被添加到您的清單:
<activity
android:name=".DownloadVoiceData"
android:theme="@android:style/Theme.Dialog" >
<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: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: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>
<activity
android:name=".TtsSettingsActivity"
android:label="@string/tts_settings_label" >
<intent-filter>
<action android:name="android.speech.tts.engine.CONFIGURE_ENGINE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<!-- Legacy code for pre-ICS compatibility. -->
<activity
android:name=".MyTtsEngine"
android:label="@string/app_name"
android:theme="@android:style/Theme.Translucent.NoTitleBar" >
<intent-filter>
<action android:name="android.intent.action.START_TTS_ENGINE" />
</intent-filter>
</activity>
<provider
android:name="com.googlecode.eyesfree.espeak.providers.SettingsProvider"
android:authorities="com.googlecode.eyesfree.espeak.providers.SettingsProvider" />
如果你在支持的Android ICS之前的版本計劃,您還需要符合特定的API共享庫。
我不會去到每一個活動的實施細節這裏,或進入ICS預API,但你可以找到在源代碼示例,eSpeak文字轉語音引擎的Android端口: http://code.google.com/p/eyes-free/source/browse/trunk/tts/espeak-tts/
相關問題
- 1. 擴展android TTS引擎
- 2. 未綁定到TTS引擎
- 3. 使用TTS引擎作爲首選的TTS引擎
- 4. 具有多種語音的SAPI TTS引擎
- 5. Android的TTS - ACTION_CHECK_TTS_DATA默認引擎
- 6. 多語言TTS引擎
- 7. 如何爲Android 2.3創建TTS引擎?
- 8. Android TTS添加語言
- 9. 講失敗:不綁定到TTS引擎
- 10. 添加延遲到tts
- 11. 使用MS SAPI TTS無意間變化TTS
- 12. tts設置聲音使用發聲tts引擎
- 13. 如何將tts添加到mresult
- 14. 如何更改TTS引擎的語音
- 15. Flite TTS引擎的大小開銷
- 16. 如何將男性語音數據文件添加到pico tts引擎中?
- 17. Android TextToSpeech初始化 - 將默認TTS引擎設置爲「android.speech.tts」
- 18. 讓SAPI TTS說話字符串變量
- 19. 自動下載安卓TTS引擎
- 20. TTS - CHECK_VOICE_DATA_FAIL - 檢查引擎可用
- 21. Android:說話失敗:不會綁定到tts引擎
- 22. Android「說話失敗:不會綁定到tts引擎」
- 23. Android TextToSpeech:說話失敗:不綁定到TTS引擎
- 24. Android文本到語音TTS不會綁定到TTS引擎,然後按回家並回到應用程序
- 25. Chrome TTS,Google TTS,Cloud Speech API和Android TTS有什麼區別?
- 26. Android TTS語音
- 27. Android TTS語言
- 28. Japnese TTS on android
- 29. TTS音 - Android?
- 30. 如何將新聲音添加到Android Pico TTS?