- • 与贾瓦文一道检测洛克
- AutoSave with VSCode
- 查询
- URL.canParse
- Java
- JavaScript:反向数组
- 查阅土著Node.js Intern
- 3. 第5条
- Colorful Node.js 信伐木与Chark
- 简讯
- 哥索尔与Node.js console-png的图像
- 1. 在Node.js推广土著传教
- 制作带有Node.js和PhantomJS的网络普查
- 制作带有Node.js和SlimerJS的网络普查
- Broken Linkecker
- 衡量国家预防机制的缓慢办法 Install Time
- Node.js Roku Yong
- Node.js Raw Mode with Keystrokes
- 与Node.js的系统通知
- URL Redirects with Node.js
- 现代 Java文 适用于Netrino
- 习俗中立
- Java Deep Merge
- 2-Factor Authentication with Node.js
- Node.js Debugging
- 更完善的Node.js Console Dumps with console-probe
- • 如何用Node.js创建Twitter Bot
- 自动取款机
- 全球停止安装包裹
- • 如何用网上包装对来源进行分类
- 简单的Node.js Proxy
- j 质量评论
- 在MooTools 1.2.3实施cs()和.attr()
- Sexy Album Art with MooTools or jQuery
- 消除使用MooTools或j Query的盲人形象
- 动态制作利用j Query Flot和谷歌分析的图表
- Image和MooTools的图像
- 复制jQuery Homepage Tooltips
- 创建Spinning、与CSS3和MooTools的Fading Icons
- 创建轮椅、与CSS3和j Query的电灯
- 创建配有CSS3和MooTools或jQuery的模拟记录仪
- jQuery Chosen Plugin
- Create Create
- 2. Version
- 1. 建设有CSS Animations和Java 字典的街头斗士
- j Query Wookmark
- CSS vs. JS Animation: What is Immediate?
- nude.js: Nudity Researchion with Java texts
- 摄像机和录像控制
- 5 更多超文本
- 创建具有混合体的乙烯
- 9 Min-Blowing Canvas Demos
- 9 更明朗的网络
- 恢复使用Canvas、Drag和Droop图像和文档预报
- 1. 利用网络Socket建造3DMMO
- 缩略语
- Responsive and agly Scalable JS Animations
- 13 在选择 Java图书图书馆时考虑的因素
- Sara Soueidan's Favorite CodePen Demos
- Web Animation using Java: Text
- 在Aimations工作时减少记忆力
- GSAP + SVG for Powerusers: Application With A Path
- JS 图: 页: 1
- • 如何在安热斯建造海图
- 麦克马歌舞厅
- Canvas Filters
- 5 《学习关键概念》,3.js和“如何理解”
- AJRP 页: 1
- MooTools' AutoComples 管道
- #davidwalshblog AJAX Chat
- Caching AJAX Java文
- Form Element AJAX Spinner Attachment Using j Query
- AJAX Annoyances to Avoid
- 在Dojo工具包中创建动态的Flickr图像搜索
- 创建多霍人授权的言辞 新闻网站视角
- 乌尔维5的窗口。 信使
- 支持MooTools的Message活动
- 窗口Message Tip: Child-To-Parent Communication
- Drag and Drop MooTools File Uploads
- 传统日本宇宙航空研究开发机构与Dojo工具包的关系
- IFRAME 1. 允许排放分离解决办法
- Pub/Sub Javagust 目的
- 缩略语
- 采用捕获方式归还财产
- CSS 超支部分
- 反对:
- Fix Seeing “0” in You JSX Code
- 回收使用 前任Hook
- • 如何在贾瓦伦创造团结联盟
- 指挥线拖拉
- Array.prototype.at
- JavaScript String replaceAll
- 立即执行与贾瓦文的间隔
- Java门类
- 投入价值 印 度
- A. 采访Intiface Haptics工程师
- 2. 用 Java印成像
- Javacast event.defaultPrevented
- How to Inject a Global with Web Expansion in Manifest V3
- 查阅XR 对 Java本的支持
- • 如何确定Java Promise的地位
- 硬拷贝 表格
- fetch with Timeout
- 使用.nvrrc指定节点版本
- 通过控制台监视事件和函数调用
- 斯基普或仅与 Java本·莫沙进行一项试验
- 如何在网络推广中使用储存
- 检测系统 利用 Java本进行的主题优惠变化
- Convert Fahrenheit to Celsius with JavaScript
- 如何使用窗户。 Node的加密。 j)
- • 如何推广与 Java的原型
- • 如何使印有 Java本的数字国际化
- 侦查Fonts Ready
我拥有4台 Apple普电视频道、3台Roku电视台、 Chrome电视台和1台OS电视台。 从那以后,你可能聚集一堂,我爱流的内容,特别是体育和电影。 我显然也热爱编码,因此,我热爱成为Ambeth OHOS电视台的伙伴工程师——我热情地测试电视信号,探索快乐器和应对技术。
我总是想找到一种办法,使 Java的成文令人感兴趣,并当即向我投射。 我可以不与封闭的生态系统肥料电视做任何事情,但众所周知,与罗库公司合作的方式,因此,我准备与罗库和诺德杰斯公司做一些有意义的事——建立遥控功能。
Node.js Roku Remote
发现的“node-roku
Roku装置,提供每个Roku的IP地址,以便你能够与之联网。 <>Node-roku util还提供了从Roku检索装置信息和数据表的预报。 我选择制作一个文字,一旦开始,用户就可以使用其计算机键板在罗库周围航行,选择和发射仪器,而且更多。
请首先使用<代码>0.1.0和源代码:
const readpne = require( readpne ); const request = require( request ); const Roku = require( node-roku ); const xml2json = require( xml2json ); // Will be populated once a device is found var address; // Map to this URL: http://******:8060/keypress/{key} const keyEndpoint = { // Arrow Keys left: Left , right: Right , up: Up , down: Down , // Standard Keys space: Play , backspace: Back , return: Select , // Sequences (shift key) H: home , R: Rev , F: Fwd , S: Search , E: Enter , // Other r: InstantReplay , b: InfoBackspace }; const xmlToObject = xml => { return JSON.parse(xml2json.toJson(xml)); } readpne.emitKeypressEvents(process.stdin); process.stdin.setRawMode(true); console.log( Looking for the (first) Roku... ); // Find the Roku // TODO: Allow for selection of multiple Rokus; current assuming only one Roku.find((err, devices) => { if(err) { console.log( `roku.find` error: , err); process.exit(); } if(!devices.length) { console.log( No Roku devices found. Baipng. ); process.exit(); } address = devices[0]; Roku.getDevice(address, (err, deviceDetail) => { console.log( Connected to Device: , xmlToObject(deviceDetail).root.device.friendlyName, ( , devices[0], ) ); console.log( Press keys to navigate the Roku and select content! ); }); }); // Start the keypress pstener process.stdin.on( keypress , (str, key) => { var endpoint; // Ignore everything until we re connected if(!address) { return; } // "Raw" mode so we must do our own kill switch if(key.sequence === u0003 ) { process.exit(); } // Handle commands endpoint = keyEndpoint[key.name] || keyEndpoint[key.sequence] || Lit_ + key.name; // Ignore undefined keypresses (no name or sequence) if(endpoint === Lit_undefined ) { return; } // Send command! request.post(address + /keypress/ + endpoint); });
现在,请解释一下上面的源代码:
xml2json
is required because device information is returned as XML
Interaction with the Roku is done via POST requests with the URL format of http://******:8060/keypress/{key}
; a POST is sent on each keypress
readpne.emitKeypressEvents(process.stdin);
and process.stdin.setRawMode(true);
directs Node.js to operate outside of normal shell operation, thus we need to exppcitly check for CONTROL+C
to shut down the remote and Node.js process
The keypress logic is this: we use an object, keyEndpoint
, to map logical keypress events to known endpoints; if a key isn t designated, we pass it along to the Roku as a keypress (i.e. a key to a search box, for example).
Get roku-remote
I ve在