Websocket 在LG WebOS TV中以编程方式捕获当前屏幕截图
我正在尝试拍摄LG电视的屏幕截图。运行nmap将提供以下输出Websocket 在LG WebOS TV中以编程方式捕获当前屏幕截图,websocket,webos,java-websocket,lg,smart-tv,Websocket,Webos,Java Websocket,Lg,Smart Tv,我正在尝试拍摄LG电视的屏幕截图。运行nmap将提供以下输出 Discovered open port 18181/tcp on xx.xx.xx.xxx Increased max_successful_tryno for xx.xx.xx.xxx to 1 (packet drop) Discovered open port 9998/tcp on xx.xx.xx.xxx Discovered open port 9955/tcp on xx.xx.xx.xxx Discovered op
Discovered open port 18181/tcp on xx.xx.xx.xxx
Increased max_successful_tryno for xx.xx.xx.xxx to 1 (packet drop)
Discovered open port 9998/tcp on xx.xx.xx.xxx
Discovered open port 9955/tcp on xx.xx.xx.xxx
Discovered open port 1998/tcp on xx.xx.xx.xxx
Discovered open port 3001/tcp on xx.xx.xx.xxx
Discovered open port 1267/tcp on xx.xx.xx.xxx
Discovered open port 1512/tcp on xx.xx.xx.xxx
Discovered open port 3000/tcp on xx.xx.xx.xxx
Discovered open port 1812/tcp on xx.xx.xx.xxx
Discovered open port 1552/tcp on xx.xx.xx.xxx
Discovered open port 36866/tcp on xx.xx.xx.xxx
现在,我如何在电视上播放当前节目的屏幕截图
多谢各位
想知道如何才能得到电视的截图
此代码用于关闭通过WebSocket发送消息的电视
public static void turnOff(WebSocketClient ws) throws JSONException
{
JSONObject headers = new JSONObject();
JSONObject payload = new JSONObject();
try {
headers.put("type", "request");
headers.put("id", 10001);
headers.put("uri", "ssap://system/turnOff");
} catch (JSONException e) {
}
headers.put("payload", payload);
ws.send(headers.toString());
System.out.println(headers.toString());
}
这是连接到电视中WebSocket的代码
ws = new WebSocketClient(URI.create("ws://10.10.10.111:3000")) {
@Override
public void onOpen(ServerHandshake arg0) {
System.out.println("Connected ws://10.10.10.111:9000");
try {
// sendPin(ws);
register(ws);
} catch (JSONException ex) {
Logger.getLogger(LGWebTVClient.class.getName()).log(Level.SEVERE, null, ex);
}
}
@Override
public void onMessage(String arg0) {
try {
System.out.println(arg0);
JSONObject message = new JSONObject();
try {
message = new JSONObject(arg0);
} catch (JSONException ex) {
Logger.getLogger(LGWebTVClient.class.getName()).log(Level.SEVERE, null, ex);
}
String type = message.optString("type");
try
{
String pin ="";
for (int i = 0; i < 9; i++)
{
if(type.equals("response"))
{
String id = message.optString("id");
if(id.equals("152463"))
{
Scanner scanner = new Scanner(new InputStreamReader(System.in));
System.out.println("Enter the PIN: ");
int number = scanner.nextInt();
System.out.println("Integer input: " + number);
pin = number+"";
if(number < 10)
pin ="00"+pin;
if(number < 99 && number > 9)
pin ="0"+pin;
if(i > 99)
pin =""+pin;
System.out.println("Sending PIN");
sendPin(ws,pin);
break;
}
}
}
}
catch (JSONException ex)
{
}
if(type.equals("registered"))
{
System.out.println("Registerd");
secondScreen(ws);
}
ws=newWebSocketClient(URI.create(“ws://10.10.10.111:3000”)){
@凌驾
公用打开(服务器握手arg0){
System.out.println(“已连接的ws://10.10.10.111:9000”);
试一试{
//sendPin(ws);
登记册(ws);
}捕获(JSONException ex){
Logger.getLogger(LGWebTVClient.class.getName()).log(Level.SEVERE,null,ex);
}
}
@凌驾
消息上的公共void(字符串arg0){
试一试{
系统输出打印项次(arg0);
JSONObject消息=新的JSONObject();
试一试{
消息=新的JSONObject(arg0);
}捕获(JSONException ex){
Logger.getLogger(LGWebTVClient.class.getName()).log(Level.SEVERE,null,ex);
}
字符串类型=message.optString(“类型”);
尝试
{
字符串pin=“”;
对于(int i=0;i<9;i++)
{
if(type.equals(“响应”))
{
字符串id=message.optString(“id”);
如果(id.equals(“152463”))
{
Scanner Scanner=新的扫描仪(新的InputStreamReader(System.in));
System.out.println(“输入PIN:”);
int number=scanner.nextInt();
System.out.println(“整数输入:“+数字”);
pin=数字+“”;
如果(数字<10)
pin=“00”+pin;
如果(编号<99&&number>9)
pin=“0”+pin;
如果(i>99)
pin=”“+pin;
System.out.println(“发送PIN”);
sendPin(ws,pin);
打破
}
}
}
}
捕获(JSONException ex)
{
}
if(类型等于(“注册”))
{
System.out.println(“Registerd”);
第二屏幕(ws);
}
,然后将其另存为文件
然而,这只是直接呈现HTML和CSS,它不能捕获除此之外的任何内容
或者,也可以使用getUserMedia()
将其保存为文件
然而,这只是直接呈现HTML和CSS,它不能捕获除此之外的任何内容
或者,也可以使用getUserMedia()