質問編集履歴

3

誤字

2020/11/10 04:41

投稿

kurokoma12
kurokoma12

スコア0

test CHANGED
File without changes
test CHANGED
@@ -190,7 +190,7 @@
190
190
 
191
191
  //文字列を認識したら呼び出されるメソッド
192
192
 
193
- private void ShuwaMethod()
193
+ private void SSMethod()
194
194
 
195
195
  {
196
196
 

2

現状できているコードを追加いたしました。

2020/11/10 04:40

投稿

kurokoma12
kurokoma12

スコア0

test CHANGED
File without changes
test CHANGED
@@ -34,7 +34,7 @@
34
34
 
35
35
 
36
36
 
37
- ###現状できているプログラム
37
+ ###現状できているコード
38
38
 
39
39
  ```C#
40
40
 

1

現状できているコードを追加いたしました。

2020/10/23 12:17

投稿

kurokoma12
kurokoma12

スコア0

test CHANGED
File without changes
test CHANGED
@@ -34,7 +34,193 @@
34
34
 
35
35
 
36
36
 
37
-
37
+ ###現状できているプログラム
38
+
39
+ ```C#
40
+
41
+ using System.Collections;
42
+
43
+ using System.Collections.Generic;
44
+
45
+ using UnityEngine;
46
+
47
+ using UnityEngine.UI;
48
+
49
+
50
+
51
+ public class AndroidSpeechRecognizer : MonoBehaviour
52
+
53
+ {
54
+
55
+
56
+
57
+ public Sprite konnitiwa;
58
+
59
+ public Sprite yorosiku;
60
+
61
+ public Sprite arigato;
62
+
63
+
64
+
65
+ //文字を表示するクラス
66
+
67
+ [SerializeField]
68
+
69
+ public Text _text;
70
+
71
+
72
+
73
+ private void Start() => StartRecognizer();
74
+
75
+
76
+
77
+ private void Update()
78
+
79
+ {
80
+
81
+ //タッチしたら
82
+
83
+ if (Input.touchCount > 0)
84
+
85
+ {
86
+
87
+ Touch touch = Input.touches[0];
88
+
89
+ //タッチし始めたら
90
+
91
+ if (touch.phase == TouchPhase.Began)
92
+
93
+ {
94
+
95
+ StartRecognizer();
96
+
97
+ }
98
+
99
+ }
100
+
101
+ }
102
+
103
+ //これを呼び出すと音声認識スタート
104
+
105
+ private void StartRecognizer()
106
+
107
+ {
108
+
109
+ #if UNITY_ANDROID
110
+
111
+ AndroidJavaClass nativeRecognizer = new AndroidJavaClass("com.cst.mylibrary.NativeSpeechRecognizer");
112
+
113
+ AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
114
+
115
+ AndroidJavaObject context = unityPlayer.GetStatic<AndroidJavaObject>("currentActivity");
116
+
117
+
118
+
119
+ context.Call("runOnUiThread", new AndroidJavaRunnable(() =>
120
+
121
+ {
122
+
123
+ nativeRecognizer.CallStatic(
124
+
125
+ "StartRecognizer",
126
+
127
+ context,
128
+
129
+ gameObject.name,
130
+
131
+ "CallbackMethod"
132
+
133
+
134
+
135
+ );
136
+
137
+ }));
138
+
139
+ #endif
140
+
141
+ }
142
+
143
+ //音声を認識したら呼び出されるメソッド
144
+
145
+ private void CallbackMethod(string message)
146
+
147
+ {
148
+
149
+ string[] messages = message.Split('\n');
150
+
151
+ if (messages[0] == "onResults")
152
+
153
+ {
154
+
155
+ Debug.Log(messages[0]);
156
+
157
+ Debug.Log(messages.Length);
158
+
159
+ string msg = "";
160
+
161
+ for (int i = 1; i < messages.Length; i++)
162
+
163
+ {
164
+
165
+ msg += messages[i] + "\n";
166
+
167
+ }
168
+
169
+
170
+
171
+ _text.text = msg;
172
+
173
+ //Debug.Log(msg);
174
+
175
+ }
176
+
177
+ else
178
+
179
+ {
180
+
181
+ Debug.Log(message);
182
+
183
+ }
184
+
185
+ }
186
+
187
+
188
+
189
+
190
+
191
+ //文字列を認識したら呼び出されるメソッド
192
+
193
+ private void ShuwaMethod()
194
+
195
+ {
196
+
197
+ /*
198
+
199
+
200
+
201
+ ここにswitch-case文で文字列を認識し、
202
+
203
+ その文字列に該当する画像を
204
+
205
+     画面に表示するようにしたい
206
+
207
+
208
+
209
+ */
210
+
211
+
212
+
213
+ }
214
+
215
+
216
+
217
+ }
218
+
219
+
220
+
221
+
222
+
223
+ ```
38
224
 
39
225
 
40
226