27 lines
605 B
JavaScript
27 lines
605 B
JavaScript
Vue.component('tts-google', {
|
|
template: '#tmpl-tts-google',
|
|
data: function() {
|
|
return {
|
|
talking: false,
|
|
};
|
|
},
|
|
|
|
methods: {
|
|
talk: async function(event) {
|
|
event.preventDefault();
|
|
|
|
const args = [...event.target.querySelectorAll('input')].reduce((obj, el) => {
|
|
if (el.value.length)
|
|
obj[el.name] = el.value;
|
|
return obj;
|
|
}, {});
|
|
|
|
this.talking = true;
|
|
await request('tts.google.say', args);
|
|
this.talking = false;
|
|
},
|
|
},
|
|
});
|
|
|
|
|