我使用的是来自https://github.com/domaemon/org.apache.cordova.plugin.tts的TTS插件,但该插件似乎不工作。它甚至不初始化。Phonegap TTS插件Android不工作
安装像下面的插件(PhoneGap的3.3)
phonegap plugin add https://github.com/domaemon/org.apache.cordova.plugin.tts.git
phonegap build android
添加在PhoneGap的config.xml中
<gap:plugin name="org.apache.cordova.plugins.tts" value="org.apache.cordova.plugins.tts"/>
添加在我的javascript以下代码下面
window.plugins.tts.startup(startupWin, fail);
function startupWin(result) {
console.log("Startup win");
// When result is equal to STARTED we are ready to play
if (result == TTS.STARTED) {
window.plugins.tts.getLanguage(win, fail);
window.plugins.tts.speak("The text to speech service is ready");
window.plugins.tts.isLanguageAvailable("en_US", function() {
addLang("en_US", "English (American)");
}, fail);
window.plugins.tts.isLanguageAvailable("en_GB", function() {
addLang("en_GB", "English (UK)");
}, fail);
window.plugins.tts.isLanguageAvailable("fr", function() {
addLang("fr", "French");
}, fail);
window.plugins.tts.isLanguageAvailable("de", function() {
addLang("de", "German");
}, fail);
window.plugins.tts.isLanguageAvailable("it", function() {
addLang("it", "Italian");
}, fail);
window.plugins.tts.isLanguageAvailable("es", function() {
addLang("es", "Spanish");
}, fail);
}
}
function addLang(loc, lang) {
var langs = document.getElementById('langs');
var langOption = document.createElement("OPTION")
langOption.innerText = lang;
langOption.value = loc;
langs.options.add(langOption);
}
function changeLang() {
var yourSelect = document.getElementById('langs');
window.plugins.tts.setLanguage(yourSelect.options[yourSelect.selectedIndex].value, win, fail);
}
function win(result) {
console.log(result);
}
function fail(result) {
console.log("Error = " + result);
}
function speak() {
console.log("Speaking");
window.plugins.tts.speak("How are you");
}
但是没有显示任何控制台日志消息。我正在genymotion模拟器上测试这个。
这是太棒了!感谢您发布您的解决方案! –