我現在遇到的困難是拍攝SurfaceView的屏幕截圖。任何人都可以請幫忙?從SurfaceView獲取框架
我的團隊正在做一個Android項目,我們使用MediaCodec來解碼視頻供稿並將供稿呈現到Surface上。 活動實現
SurfaceHolder.Callback
然後,我們創建了一個SurfaceView,並添加回調:
mySurfaveView.getHolder().addCallback(this);
然後我們開始進行解碼的視頻輸入(我們有確實的解碼方法)
surfaceChanged(SurfaceHolder holder, int format, int width, int height)
視頻工作正常,現在我想截取渲染到SurfaceView上的內容。我嘗試了幾種方法來做到這一點,但我沒有成功。以下是我曾嘗試過的:
- 我已經厭倦了獲取rootView的drawingcache。
- 試圖直接從MediaCodec獲取幀。
- 嘗試draw()方法在畫布上繪製。
截至目前我正在創建一個自定義的SurfaceView並覆蓋那裏的onDraw方法。但是,我從未創建過自定義SurfaceView。我在正確的方向嗎?
請幫忙。謝謝!
你想要做的是在這裏解釋得非常好:http://stackoverflow.com/questions/27817577/android-take-screenshot-of-surface-view-shows-black-screen – Willis