2016-12-29 33 views
1

我想在手勢渲染glsurfaceview時獲取圖像流 目的是記錄渲染表單glsurfaceview,我用相機使用surfacetexture來完成它的編碼。 mp4,但是當我繪製時我無法從glsurfaceview獲取渲染。當我使用GLsurfaceview渲染器時如何獲取圖像流

+0

相關的例子:http://stackoverflow.com/ a/22461402/295004,請注意答案底部的鏈接。 –

+0

嗨@Morrison Chang感謝您的相關鏈接,同樣的問題,我想記錄屏幕,同樣的原因,我想編碼的GLsurfaceview內容避免上層目標,我想在4.4做,甚至我知道有用的MediaProjection API在5.0中,再次感謝您的意見,幫助我的問題更具體 –

回答

0
  • 讓您GLSurfaceViewEGLContextEGL14.eglGetCurrentContext()

  • 使用EGLContext上面共享上下文在獨立的線程來記錄

  • 記錄EGLContext將呈現爲Surface創建另一個EGLContextMediaCodec.createInputSurface得到,它也使用相同的紋理GLSurfaceView

  • 使用MediaMuxerMediaCodec輸出多路轉換到MP4

  • 然後你就可以記錄下你GLSurfaceView到MP4

sample code

+0

嗨@Alijandro感謝您的建議,我會嘗試這種方式,它看起來可以工作,我最近在Android搜索Opengl ES2.0理論,我認爲EGL接口可以幫助我解決問題,再次感謝。 –

+0

我用另一種方式來記錄glsurface通過綁定多個紋理不是你的方式,但再次感謝 –

+0

@CapybaraChan祝賀!你能分享一些你的解決方案的信息嗎?如果你不介意,其他人到這裏會發現更有價值的信息。我們鼓勵人們在這裏分享他們的知識,如果您不介意的話,您可以將解決方案作爲答案發布,並將其標記爲最佳答案。 – alijandro