Roku如何在Main.brs中获得标准输入

时间:2017-09-08 08:37:04

标签: input scanf roku brightscript

我正在编写一个Roku应用程序,我需要从标准输入中读取一个字符串。我知道要打印到标准输出我可以使用函数print,但我需要给用户启动脚本在运行时插入新参数的可能性,例如(伪代码) :

print "Enter server IP: "
string ip = getline();
print "Server IP " + ip

有办法吗?

2 个答案:

答案 0 :(得分:0)

您需要将Keyboad ***组件添加到Scene.xml文件中:

<Keyboard
    id = "keyboard" 
/>

之后在Scene.xml中添加一个Button组件,在Scene.brs - init()函数中声明它,并在&#34; buttonSelected&#34;上设置观察者字段。还要声明键盘并设置焦点:

init():

m.keyboard = m.top.findNode("keyboard")
m.keyboard.setFocus(true)
m.button = m.top.findNode("button")
m.button.observeField("buttonSelected","onButtonSelected")

然后创建一个Sub以在按下按钮时从键盘获取用户输入:

Sub onButtonSelected()
    print m.keyboard.textEditBox.text
End Sub

***请注意,键盘组件内置了TextEditBox,因此您无需在Scene.xml文件中手动添加它。

答案 1 :(得分:0)

没有&#34;标准输入&#34; Roku开发中的概念。虽然您的代码可以通过一些方式获取外部输入。

一个是如上所述@ U-Mitic - 使用来自遥控器的键盘输入的组件,如roKeyboardScreenKeyboardDialog RSG节点等。

另一种方法是通过使用ECP(Roku的外部控制协议)在http外部发送此类信息 - / input或/ launch w / params