成功的 Acer Stream 的 HDMI 測試程式
Posted by tjwei on 星期五, 4月 15, 2011 with 15 comments
由於找到 mini HDMI 接線了,所以又繼續了之前的失敗的 Acer Stream HDMI 測試, 然後就...成功了。
程式完全沒有改,還是之前那個非常即興的程式,草率到按鈕名稱都用預設的 Button, Button2。程式 apk 放在這裡。
但只要這樣就行了,將 Acer Stream 的 hdmi 線接上,然後按下 Button2 即可。
要注意幾點:
程式完全沒有改,還是之前那個非常即興的程式,草率到按鈕名稱都用預設的 Button, Button2。程式 apk 放在這裡。
但只要這樣就行了,將 Acer Stream 的 hdmi 線接上,然後按下 Button2 即可。
要注意幾點:
- 電視螢幕解析度是 16:9,而手機螢幕是 480x800,這會造成問題。所以手機 Portrait mode 時,電視是在 landscape mode,手機變成 landscape,電視顯示會變成橫向。這對大部分的程式會造成問題。
- 可以用 touch screen 和按鍵可以操作。但是Home 鍵似乎無效。
- 大部分的播放器在 Fullsreen 播放時,會進入 landscape 模式,所以電視會變成橫向,而且畫面變得細長。
- Youtube 直拿時,播放效果還不錯。Angry bird 可以進入,但是會變成橫向,很難玩。Abduction 2可以玩,而且因為是直拿的,所以正向。但上下長度太窄,看不容易玩。
- 內建的瀏覽器似乎會當機。
- 程式是利用 jni 呼叫 libnemoPlayer_hdmi_jni.so 切換的。 acer 有公佈 kernel source,裡面有 /dev/adi752x 的 driver,所以可以找到對應的 ioctl 參數。但寫 HDMItest 時我還沒有裝 ndk。
- 要 Clone 螢幕,比較難,要改寫 adi752x 的 driver 才行。
- 也許透過修改 AndroidManifest 來讓原本 landscape 的程式可以在 hdmi 上跑。
- 如果有 open source 的 SFC,PSX 模擬器,配合 Wiimote ,應該可以讓 Acer Stream 在電視上玩老遊戲。
- psx4droid 和 snesdroid 等模擬器,只要把 orientation 設定成 portrait mode ,即可玩。光這個就值回票價(?),所以其實這個小程式算是有點用途。
- Youtube 直拿時可播,但解析度低。
- Opera Mobile 似乎是可用的。
- 電視最好設定成點對點映射模式。
- 電源鍵也會失效。
- 有時螢幕會消失(比方在 Launcher 中),連背景音樂也停住,似乎是機器會間歇性的卡住?
Categories: android
15 意見:
真沒想到還有人會幫忙寫acer stream的專用HDMI輸出程式
非常感謝XD
現在還是覺得在當時acer stream是支cp剖高的手機
只是半殘的HDMI實在是讓人感到遺憾了點
現在終於有人把這個遺憾彌補了
辛苦了!
對啊, Acer Stream cp 值不錯,但是還是有一些缺陷。
對不起,打擾了, 請問從哪邊可以拿到
/dev/adv752x kernal source ?
Thanks,
acer 的官網驅動下載專區,選 stream,然後好像是「文件」裡面有 kernel 的 source。
我找到了, Thanks,
另外請問兩個問題,
1.此hdmi 與lcd 介面
源頭端是不只有一個?我的意思是main chip 是不是只有一個port 然後經過切換分別送到lcd 與hdmi ?
2.audio 是否也是獨立兩個pcm channel ?
@Casper
我沒有研究那麼深入,所以不知道這兩個問題的答案。
對不起, 想請教您一件事,
我看到影片中,當你執行apk 時,螢幕會自動切到hdmi, 且好像有改變hdmi 上之resolution, 是如何做的?
是不是要重新啟動zygote ?
要如何在apk 中重啟zygote ?
切到 hdmi 沒錯,但 resolution 沒有改變,zygote 也沒有重新啟動。
沒有嘗試過在 apk 中重啟 zygote,但應該需要 root 然後 kill 吧?
版大您好,首先感謝你提供的apk,這真的幫了我很大的忙。
另外想請教一下jni呼叫nemoplayer的做法,因為我寫了一個可以播放圖片的程式,所以我要使用HDMI輸出前,都是先執行完您的程式後跳出,然後再執行我的程式。
但是因為我的手機一定會一直接著HDMI傳輸線,我有沒有辦法改成:開啟我的程式時,就會自動把螢幕切換至HDMI輸出呢?
不好意思因為我是eclipse的初學者,對於jni本身就不是很熟悉,網路上關於Acer的HDMI輸出的資料,怎麼找都還是找到您的寫的apk,只好有求於您了!
由於時間有點久了,我有三台常在用的電腦,原來的程式碼似乎是放在我的筆記型電腦中,可能要星期天才能拿到,到時我再把 source 貼出。
如果你比較趕時間一點的話,可以把我的 apk 反編譯即可。因為程式碼很簡單,所以反編譯後應該很容易讀懂。
可參考
http://stackoverflow.com/questions/1249973/decompiling-dex-into-java-sourcecode
剛才搜尋結果出來,在一台 win7 pc 找到 source,不太清楚是哪一版, source 網址在此 https://sites.google.com/site/xmktjw/Home/files/hdmitest.zip
歐! 太感謝您提供的source
他真的可以跑!
版大是否能請教一下:
int i = HDMIControl.open();
int j = HDMIControl.start(i);
其中i, j的回傳值的意義?
我目前只差完成自動尋找HDMI裝置並連接的部分,不知道這兩個數值是不是能拿來做為依據?
有勞版大了 :)
我不知道 i,j 的意義。 不過我想是大概可以用這個來判斷吧。
我後來利用plug=0與plug=1去判斷
如果是從0到1就呼叫HDMIControl.open()與HDMIControl.start()
不過我並不是用事件觸發的方式寫的
所以只有第一次接上去會自動切換
如果拔掉 然後之後接上去就無法切換
沒有寫的很好
不過您的原碼真的幫了我很大的忙
謝謝啊!!!!
張貼留言