Tôi đã thử phát cùng một video với SurfaceView
và TextureView
và nhận thấy rằng hình ảnh được hiển thị với TextureView
là bí danh hơn (ít 'mịn') so với SurfaceView
.Chống răng cưa trong TextureView
Lý do cho việc này là gì? Có cách nào để định cấu hình hiển thị của TextureView
để trông đẹp hơn không?
Các TextureView
được sử dụng như thế này:
TextureView textureView = new TextureView(this);
textureView.setSurfaceTextureListener(new SurfaceTextureListener() {
@Override
public void onSurfaceTextureAvailable(SurfaceTexture surfaceTexture, int width, int height) {
Log.i("test", "onSurfaceTextureAvailable()");
MediaPlayer player = MediaPlayer.create(TestActivity.this, Uri.parse(VIDEO_URL));
Surface surface = new Surface(surfaceTexture);
player.setSurface(surface);
player.start();
}
@Override
public void onSurfaceTextureUpdated(SurfaceTexture surface) {
Log.i("test", "onSurfaceTextureUpdated()");
}
@Override
public void onSurfaceTextureSizeChanged(SurfaceTexture surface, int width, int height) {
Log.i("test", "onSurfaceTextureSizeChanged()");
}
@Override
public boolean onSurfaceTextureDestroyed(SurfaceTexture surface) {
Log.i("test", "onSurfaceTextureDestroyed()");
return false;
}
});
setContentView(textureView);
Và đối với SurfaceView
:
SurfaceView surfaceView = new SurfaceView(this);
surfaceView.getHolder().addCallback(new Callback() {
@Override
public void surfaceCreated(SurfaceHolder holder) {
Log.i("test", "surfaceCreated()");
}
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
Log.i("test", "surfaceDestroyed()");
}
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
Log.i("test", "surfaceChanged()");
MediaPlayer player = MediaPlayer.create(TestActivity.this, Uri.parse(VIDEO_URL));
player.setSurface(holder.getSurface());
player.start();
}
});
setContentView(surfaceView);
bạn có thể chỉ cho tôi một số mã của bạn không, bạn sử dụng TextureView như thế nào? –
tôi chỉ cần thêm mã – fiddler
xin lỗi, tôi đã đọc cả hai mã và không có Cờ để đặt, tôi nghĩ MediaPlayer chịu trách nhiệm về hành vi này –