質問編集履歴

2

追記

2021/08/16 08:26

投稿

cunwe
cunwe

スコア65

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,22 @@
1
- 目的は題名の通りです。以下のGASを書いてる横で対象のスプシのシートを開いて、実行ボタンを押すと`ReferenceError: SpeechSynthesisUtterance is not defined`と言われてしまうのですがどうしたらいいでしょうか。
1
+ ##目的
2
2
 
3
+ スプシのセルに入ってるテキスト(中国語)を発話させたい
4
+
5
+ ##現状
6
+
7
+ 以下のGASを書いてる横で対象のスプシのシートを開いて、実行ボタンを押すと`ReferenceError: SpeechSynthesisUtterance is not defined`と言われてしまうのですがどうしたらいいでしょうか。
8
+
3
- また、`SpeechSynthesisUtterance`はWeb Speech APIの[仕様](https://wicg.github.io/speech-api/)に書いてあったモジュール(?)なのですがこのように外部のAPIはGAS内で使えるのでしょうか?ちなみにセルに入ってるテキストが取得できることまでは確認できました。どなたかご教授いただけますと幸いです。よろしくお願いいたします。
9
+ また、`SpeechSynthesisUtterance`はWeb Speech APIの[仕様](https://wicg.github.io/speech-api/)に書いてあったモジュール(?)なのですがこのように外部のAPIはGAS内で使えるのでしょうか?ちなみにセルに入ってるテキストが取得できることまでは確認できました。
10
+
11
+
12
+
13
+ ## 調べて・下記の回答者のご助言でわかったこと
14
+
15
+ speech.htmlのようなHTMLファイルを別に作って、gasファイルで取得したセルの値を渡す。HTMLファイルはもう一つindex.htmlみたいなのが必要っぽい。
16
+
17
+
18
+
19
+ 以下main.gsファイル
4
20
 
5
21
  ```
6
22
 

1

追記

2021/08/16 08:26

投稿

cunwe
cunwe

スコア65

test CHANGED
@@ -1 +1 @@
1
- スプシのセルの値取得したい
1
+ スプシのセルに入ってるテキスト(中国語)発話させたい
test CHANGED
@@ -1,12 +1,18 @@
1
- 目的は題名の通りです。以下のGASを書いてる横で対象のスプシのシートを開いて、実行ボタンを押しても「不明なエラーが発生しました。」てしまうのですが原因がわかりません。かご教授ただけますと幸いです。よろくお願いいたします
1
+ 目的は題名の通りです。以下のGASを書いてる横で対象のスプシのシートを開いて、実行ボタンを押`ReferenceError: SpeechSynthesisUtterance is not defined`と言われてしまうのですがどうしいいでしょうか
2
+
3
+ また、`SpeechSynthesisUtterance`はWeb Speech APIの[仕様](https://wicg.github.io/speech-api/)に書いてあったモジュール(?)なのですがこのように外部のAPIはGAS内で使えるのでしょうか?ちなみにセルに入ってるテキストが取得できることまでは確認できました。どなたかご教授いただけますと幸いです。よろしくお願いいたします。
2
4
 
3
5
  ```
4
6
 
5
- function myFunction () {
7
+ function speak (response_text) {
6
8
 
7
9
  // 現在アクティブなスプレッドシートを取得
8
10
 
9
11
  var ss = SpreadsheetApp.getActiveSpreadsheet();
12
+
13
+ // そのスプレッドシートにあるn-1番目のシートを取得
14
+
15
+ // var sheet = ss.getSheets()[2];
10
16
 
11
17
  // 現在開いているシートを取得
12
18
 
@@ -18,6 +24,30 @@
18
24
 
19
25
  Logger.log(text);
20
26
 
27
+ var text = new SpeechSynthesisUtterance();
28
+
29
+ // 発言を作成
30
+
31
+ text.text = response_text;
32
+
33
+ // 言語 中国語
34
+
35
+ text.lang = "zh-CH"
36
+
37
+ // 速度 0.1-10
38
+
39
+ text.rate = 1
40
+
41
+ // 高さ 0-2
42
+
43
+ text.pitch = 1
44
+
45
+ // 音量 0-1
46
+
47
+ text.volume = 1
48
+
49
+ speechSynthesis.speak(text);
50
+
21
51
  }
22
52
 
23
53
  ```