在做Android應用開發的時候,經常需要將已經完成的應用展示給一同開發的小伙伴,然而一直感覺沒有找到一種十分方便的辦法。特別是看到了開發IOS的小伙伴在做展示的時候的方便。因為Apple既做PC,也做終端。自己的設備在互聯互通方面就可以做得非常的好。在展示IOS應用方面,Apple的airplay協議就是一個十分方便的工具。airplay既可以和apple推出的apple TV進行通信,將手機或者PC的屏幕投影到顯示器或者投影儀上,同時也可以用來將手機的屏幕投影到PC上。利用airplay將手機屏幕投影到PC上,再將PC通過VGA接口連顯示器或者投影儀是展示手機應用的好方式。這樣的話在PC上可以直接在需要介紹的PPT和手機屏幕之間進行快速切換。
然而在我的I9103手機中並沒有內置類似airplay的功能,但是在Android陣營中確實是有和airplay相對應的協議miracast,miracast是由wifi alliance標准化的,不過看樣子是需要硬件支持的。而另一個用於多屏共享的協議DLNA通常是內置在視頻或者游戲等應用中,並不是用來將手機自身的屏幕投影到PC上的。既然標准的協議不能直接用,那就直接用軟件來傳吧,畢竟11n的速率理論上也能夠上百兆,用於點對點之間的視頻傳輸也應該是足夠的了。軟件實現多屏共享有mirrorOP和droid VNC,mirrorOP本身是收費軟件,但是感覺mirrorOP的投影效果並不好。
droid VNC是昨天在瀏覽google play發現的,用上了之后感覺droid VNC的投影效果不錯,並且它還能被用來在PC上控制手機。更重要的是這是一款免費的、開源的軟件。https://play.google.com/store/apps/details?id=org.onaips.vnc https://github.com/oNaiPs/droid-VNC-server。
1.使用droid VNC的步驟
用過VNC進行PC上不同系統的遠程訪問的應該都清楚,VNC包括客戶端(Viewer)和服務器端(Server)兩部分。droid VNC是在Anroid手機上安裝了VNC的server,只需要在PC上安裝相應的vnc viewer就可以了。
具體的使用步驟可以見http://www.21kexin.com/jishu/201307308.html
2.構建快速的網絡
傳輸圖像是十分耗帶寬的應用,如果帶寬過低,用vnc進行傳輸就會出現色值有偏差,手機操作不流暢等問題。目前我是用11n的ap(TP-Link TL-WR720N)和手機上的11n網卡直接進行傳輸的,配置如下圖,在Win7下vnc viewer中可以看到顯示的帶寬值可以達到20000kbps,截圖如下。此時在手機上進行划屏切換的時候仍然會看出圖片幀的切換過程,但是對於應用的展示來說應該還是基本夠用的。后續的考慮是
1.用隨身WiFi替換目前的構造方式,簡化搭建流程
2.看看usb tethering的功能能不能達到更高的帶寬和在手機上11n開啟channel bonding看能不能達到更大帶寬。