Tôi đã tạo trình phát video với trình xem lướt sóng và trình phát đa phương tiện. tôi có 10 video và 10 nút. nếu nhấp vào từng nút, mỗi video sẽ phát.Làm cách nào để xóa bộ giữ bề mặt khi trình phát đa phương tiện kết thúc?
đây là mã của tôi ..
//onCreate
holder = surfaceview.getHolder();
holder.addCallback(this);
holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
//Button1
if(mp == null)mp = new MediaPlayer();
mp.setDataSource(mediaplay_path);
mp.setDisplay(holder);
mp.setScreenOnWhilePlaying(true);
mp.setAudioStreamType(AudioManager.STREAM_MUSIC);
mp.prepare();
mp.start();
//Button2
if(mp != null){
mp.stop();
mp.reset();
}
mp.setDataSource(mediaplay_path2);
mp.setDisplay(holder);
mp.setScreenOnWhilePlaying(true);
mp.setAudioStreamType(AudioManager.STREAM_MUSIC);
mp.prepare();
mp.start();
//Button3~Button10 is same as Button2..
mọi thứ đều tốt. videoview tùy chỉnh của tôi đang hoạt động ổn. nhưng khi video chuyển sang video tiếp theo, cảnh cuối cùng của video trước đó vẫn còn trong một khoảng thời gian và chuyển sang cảnh video tiếp theo.
tôi nghĩ rằng đó là vì các bản xem trước trước đó phải rõ ràng trước khi video tiếp theo phát. nhưng tôi không có ý tưởng làm thế nào để xóa các surfaceview hoặc chủ bề mặt.
Tôi đã tìm kiếm điều này nhưng chỉ có thể tìm cách phát video chứ không phải cách xóa bản xem trước được đặt không đúng với trình phát đa phương tiện.
hãy giúp tôi ~~!
Đó là số tiền thưởng tốt nhất? Không có cách nào để xóa sạch SurfaceHolder trước video tiếp theo? –
void ClearTextureView() { var cnv = _textureView.LockCanvas(); cnv.DrawColor (Android.Graphics.Color.Transparent, Android.Graphics.PorterDuff.Mode.Clear); _textureView.UnlockCanvasAndPost (cnv); } –