NDF

2014-06-19 10 views
6

'daki bir SurfaceTexture öğesinden ANativeWindow'u nasıl elde edersiniz GLSurfaceView ürününe ilişkin bazı OpenGL ES kodlarım var ve şu anda SurfaceView ve TextureView ile çalışmak üzere değiştiriyorum.NDF

Yerel kodumun her ikisinden de ihtiyacım olan ortak öğe: ANativeWindow. SurfaceView için

ben Surface geçirerek aldım:

m_jwindow = ANativeWindow_fromSurface(env, surface); 

TextureView için, ben SurfaceTexture almak ve API 14 ı bu kullanabilirsiniz:

m_jwindow = ANativeWindow_fromSurfaceTexture(env, surface); 

Ancak, bu fonksiyon edildi Jellybean'da kaldırıldı. Hangisi merak ediyor, API 16+ 'da SurfaceTexture'dan ANativeWindow nasıl edinebilirim?

cevap

8

API 16+ uygulamasında yapmanız gereken, SurfaceTexture öğesinin bir argüman olarak constructor (API 14'te tanıtıldığı) için geçirilmesiyle bir Surface nesnesi oluşturur. Bu yüzeyi, her zamanki gibi ANativeWindow_fromSurface()'a geçirin.