2015-06-22 13 views
5

Tôi đang sử dụng Thư viện ExoPlayer, dự kiến ​​một Bề mặt, tuy nhiên tôi không thể tìm thấy bất kỳ Phương thức nào, truy xuất Bề mặt cơ bản của Textureview. Bất kỳ ý tưởng?Textureview nhận được Surface

Các Surfaceview có một phương pháp cho rằng:

surfaceView.getHolder().getSurface() 

Hoặc là không có mặt trong TextureView?

Trả lời

10

Bước đầu tiên là lấy SurfaceTexture từ TextureView bằng chức năng thành viên getSurfaceTexture().

SurfaceTexture surfaceTexture = textureView.getSurfaceTexture(); 

Sau đó, tạo ra các đối tượng bề mặt từ các nhà xây dựng Surface(SurfaceTexture surfaceTexture) rằng sẽ chấp nhận SurfaceTexture từ đối tượng TextureView của bạn.

Surface surface = new Surface(surfaceTexture); 

Để biết thêm thông tin, hãy xem this issue report. Nó xác nhận rằng bằng cách xây dựng đối tượng Surface theo cách tôi mô tả nó có thể sử dụng Surface từ một TextureView với ExoPlayer.

+0

Xin cảm ơn, tôi đã làm theo cách này, và các bước ứng dụng vẫn là một ngoại lệ, có điều gì khác mà tôi phải thêm như người nghe không? – user1767754

+1

Tôi chưa sử dụng thư viện ExoPlayer, nhưng bạn có thể cần phải triển khai 'TextureView.SurfaceTextureListener' để đảm bảo bề mặt hợp lệ trước khi bạn thử và truy cập nó. – BrentM

Các vấn đề liên quan