aboutsummaryrefslogtreecommitdiff
path: root/ext/mixed/js/audio-system.js
diff options
context:
space:
mode:
authortoasted-nutbread <toasted-nutbread@users.noreply.github.com>2020-09-10 12:06:56 -0400
committerGitHub <noreply@github.com>2020-09-10 12:06:56 -0400
commit52b0feb2559cebfc6d895d75a80f374ee5974f5e (patch)
tree29c1b490c2b24dd691ad15ad0942407d3e0125e0 /ext/mixed/js/audio-system.js
parent35abd517b933036b95bb58b463a48edd1c985bb1 (diff)
Move TextToSpeechAudio to a separate file (#800)
Diffstat (limited to 'ext/mixed/js/audio-system.js')
-rw-r--r--ext/mixed/js/audio-system.js52
1 files changed, 3 insertions, 49 deletions
diff --git a/ext/mixed/js/audio-system.js b/ext/mixed/js/audio-system.js
index 4a49c135..a8226820 100644
--- a/ext/mixed/js/audio-system.js
+++ b/ext/mixed/js/audio-system.js
@@ -15,55 +15,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-class TextToSpeechAudio {
- constructor(text, voice) {
- this.text = text;
- this.voice = voice;
- this._utterance = null;
- this._volume = 1;
- }
-
- get currentTime() {
- return 0;
- }
- set currentTime(value) {
- // NOP
- }
-
- get volume() {
- return this._volume;
- }
- set volume(value) {
- this._volume = value;
- if (this._utterance !== null) {
- this._utterance.volume = value;
- }
- }
-
- async play() {
- try {
- if (this._utterance === null) {
- this._utterance = new SpeechSynthesisUtterance(this.text || '');
- this._utterance.lang = 'ja-JP';
- this._utterance.volume = this._volume;
- this._utterance.voice = this.voice;
- }
-
- speechSynthesis.cancel();
- speechSynthesis.speak(this._utterance);
- } catch (e) {
- // NOP
- }
- }
-
- pause() {
- try {
- speechSynthesis.cancel();
- } catch (e) {
- // NOP
- }
- }
-}
+/* global
+ * TextToSpeechAudio
+ */
class AudioSystem {
constructor({audioUriBuilder, requestBuilder=null, useCache}) {