質問編集履歴
2
追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,5 +1,13 @@
|
|
1
|
+
##目的
|
2
|
+
スプシのセルに入ってるテキスト(中国語)を発話させたい
|
3
|
+
##現状
|
1
|
-
|
4
|
+
以下のGASを書いてる横で対象のスプシのシートを開いて、実行ボタンを押すと`ReferenceError: SpeechSynthesisUtterance is not defined`と言われてしまうのですがどうしたらいいでしょうか。
|
2
|
-
また、`SpeechSynthesisUtterance`はWeb Speech APIの[仕様](https://wicg.github.io/speech-api/)に書いてあったモジュール(?)なのですがこのように外部のAPIはGAS内で使えるのでしょうか?ちなみにセルに入ってるテキストが取得できることまでは確認できました。
|
5
|
+
また、`SpeechSynthesisUtterance`はWeb Speech APIの[仕様](https://wicg.github.io/speech-api/)に書いてあったモジュール(?)なのですがこのように外部のAPIはGAS内で使えるのでしょうか?ちなみにセルに入ってるテキストが取得できることまでは確認できました。
|
6
|
+
|
7
|
+
## 調べて・下記の回答者のご助言でわかったこと
|
8
|
+
speech.htmlのようなHTMLファイルを別に作って、gasファイルで取得したセルの値を渡す。HTMLファイルはもう一つindex.htmlみたいなのが必要っぽい。
|
9
|
+
|
10
|
+
以下main.gsファイル
|
3
11
|
```
|
4
12
|
function speak (response_text) {
|
5
13
|
// 現在アクティブなスプレッドシートを取得
|
1
追記
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
スプシのセル
|
1
|
+
スプシのセルに入ってるテキスト(中国語)を発話させたい
|
body
CHANGED
@@ -1,12 +1,27 @@
|
|
1
|
-
目的は題名の通りです。以下のGASを書いてる横で対象のスプシのシートを開いて、実行ボタンを押
|
1
|
+
目的は題名の通りです。以下のGASを書いてる横で対象のスプシのシートを開いて、実行ボタンを押すと`ReferenceError: SpeechSynthesisUtterance is not defined`と言われてしまうのですがどうしたらいいでしょうか。
|
2
|
+
また、`SpeechSynthesisUtterance`はWeb Speech APIの[仕様](https://wicg.github.io/speech-api/)に書いてあったモジュール(?)なのですがこのように外部のAPIはGAS内で使えるのでしょうか?ちなみにセルに入ってるテキストが取得できることまでは確認できました。どなたかご教授いただけますと幸いです。よろしくお願いいたします。
|
2
3
|
```
|
3
|
-
function
|
4
|
+
function speak (response_text) {
|
4
5
|
// 現在アクティブなスプレッドシートを取得
|
5
6
|
var ss = SpreadsheetApp.getActiveSpreadsheet();
|
7
|
+
// そのスプレッドシートにあるn-1番目のシートを取得
|
8
|
+
// var sheet = ss.getSheets()[2];
|
6
9
|
// 現在開いているシートを取得
|
7
10
|
var sheet = ss.getActiveSheet();
|
8
11
|
// そのシートにあるアクティブなセルを取得
|
9
12
|
var text = sheet.getRange("B2").getValue();
|
10
13
|
Logger.log(text);
|
14
|
+
var text = new SpeechSynthesisUtterance();
|
15
|
+
// 発言を作成
|
16
|
+
text.text = response_text;
|
17
|
+
// 言語 中国語
|
18
|
+
text.lang = "zh-CH"
|
19
|
+
// 速度 0.1-10
|
20
|
+
text.rate = 1
|
21
|
+
// 高さ 0-2
|
22
|
+
text.pitch = 1
|
23
|
+
// 音量 0-1
|
24
|
+
text.volume = 1
|
25
|
+
speechSynthesis.speak(text);
|
11
26
|
}
|
12
27
|
```
|