ubuntu 在 R40e 上 還有 Debian 在 Sempron 2600 上

2012年9月21日 星期五

android screencast

分為兩部份: agent (run 在 android device),和 screencast 本體 (pc)。

agent 在 pc 程式啟動後,會用 adb push 到 device,然後啟動。

agent 和 screencast program 會建立通道, screen cast 會把 key, mouse event 傳給 agent,
agent 再把 這些command 用 : if(type.equals("pointer")) { wm.injectPointerEvent(getMotionEvent(paramList), false); return; }
把動作輸入到系統。

至於android device 的螢幕,經由另一個 thread,. 抓 fb 的資料傳到 pc... Process p = Runtime.getRuntime().exec("/system/bin/cat /dev/graphics/fb0"); InputStream is = p.getInputStream(); System.out.println("Starting sending framebuffer"); OutputStream os = s.getOutputStream(); byte[] buff = new byte[336*512*2]; while(true) { int nb = is.read(buff); if(nb < -1) break; System.out.println("val "+nb); os.write(buff,0,nb); Thread.sleep(10); } is.close();

沒有留言:

標籤

網誌存檔