我在Processing中设置了一个使用语音识别库http://florianschulz.info/stt/正常工作的示例
我正在尝试将字符串的内容发送到Draw函数,并且当您在void setup
中定义默认值时,它会导致NullException错误首先我虽然我应该设置一个全局字符串消息,但无论我如何尝试定义它,它都不会使用除测试单词之外的任何内容来更新绘图函数。这是因为我在void setup()中将其定义为具有值" test"
但是,如果删除单词test,则会再次导致出现空异常错误。
String msg默认为值test,但是一旦你说到笔记本电脑麦克风,控制台应该通过text()更新单词或句子;函数反过来出现在Processing 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);
}
答案 0 :(得分:0)
您是否在询问如何将草图级.join()
变量分配给传递到msg
函数的msg
参数的值?
请注意,仅仅因为它们具有相同的名称并不意味着它们是相同的变量。它们是两个不同范围内的两个不同变量。如果要引用或重新分配草图级变量,可以使用webSocketServerEvent()
关键字消除歧义:
this
或者您可以重命名其中一个变量:
void webSocketServerEvent(String msg){
this.msg = msg;
println(msg);
}