Я настроил пример в обработке, который работает нормально, используя библиотеку распознавания голоса http://florianschulz.info/stt/
Я пытаюсь отправить содержимое строки в функцию Draw, и это вызывает ошибку NullException, когда вы не определяете значение по умолчанию в void setup
Сначала я подумал, что должен установить глобальную строковую MSG, но, как бы я ни пытался ее определить, она не обновит функцию рисования чем-либо, кроме слова test. Это потому, что я определил его внутри void setup () как значение «test»
Однако, если вы удалите слово test, оно снова вызовет ошибку исключения null.
Что происходит, так это то, что по умолчанию String msg проходит проверку значения, но как только вы говорите в микрофон ноутбука, консоль должна обновить слово или предложение с помощью текста (); функция и в свою очередь появляются в окне Java обработки с обновленным словом.
import websockets.*;
WebsocketServer socket;
PFont f;
String msg;
void setup() {
socket = new WebsocketServer(this, 1337, "/p5websocket");
noLoop();
size(480, 120);
f = createFont("Arial",16,true); // Arial, 16 point, anti-aliasing on
if (msg == null){
msg="test";
println(msg);
}
else{
println(msg);
}
}
void draw() {
background(100);
textFont(f,36);
fill(180);
println(msg);
text(msg, 10, 10, 70, 80);// Text wraps within text box
}
void webSocketServerEvent(String msg){
println(msg);
}