關於SurfaceView的截圖問題
在使用Mediaplayer播放視頻的時候,很自然的想到一個功能就是能否截取其中的一個視頻畫麵,並導出成一張圖片。
但是很遺憾,查了很多方法,也沒發現類似接口。
後來想到Mediaplayer的畫麵是在SurfaceView中刷新的,所以又想到能否通過view的截圖方法來得到。
(view的截圖方法參考:https://lovezhou.iteye.com/blog/836662)
可是我嚐試之後,發現截圖是黑屏。
後來,找到以下一段文字:(來自:https://www.son1c.net/android_develop/2089.html)
2. SurfaceView如何截圖 ? 使用Linux下標準的Framebuffer無法獲取是一片黑色,類似Windows下截取DirectX這樣的DMA模式的數據一樣,由於SurfaceView在遊戲或高實時性畫麵比較多,Android除了從2.3.3開始新增了一個SurfaceFlinger API用於截圖.當然有關OpenGL的截圖還可以查看android開發網早期文章,如果你有Root權限截圖普通圖片通過讀取/dev/graphics/fb0即可。
最後更新:2017-04-02 06:52:11
上一篇:
我奮鬥了18年才和你坐在一起喝咖啡
下一篇:
JAVA麵試題-STRINGBUFFER倒序輸出、正則將首字母大寫
C++11:使用 auto/decltype/result_of使代碼可讀易維護
五種令人沮喪的告警垃圾及處理辦法!
Cmd批處理替換文件
oracle和sql server取第一條記錄的區別以及rownum詳解
如何通過EIP實現VPC下的SNAT以及DNAT
Javascript基礎學習之基本語法
七周成為數據分析師—Excel分析篇
為什麼 C 語言屹立不倒?
Exception in thread "taskExecutor-4" java.lang.AbstractMethodError: com.mchange.v2.c3p0.impl.NewProx
Django 博客開發教程 9 - 支持 Markdown 語法和代碼高亮