我的任务 - 在 SurfaceView 上播放视频,停止在 SurfaceView 中显示图像
我的游戏代码
mPlayer.setOnCompletionListener(onCompletionListener);
mPlayer.setDisplay(view.getHolder());
mPlayer.reset();
mPlayer.setDataSource(file.getAbsolutePath());
mPlayer.prepare();
mPlayer.start();
视频播放正常
在完成
mPlayer.reset();
mPlayer.setDisplay(null);
view.setBackgroundDrawable(Drawable.createFromPath(file.toString()));
但图像是透明的,在背景上我看到最后一个视频帧 - 这不好。表面有多清晰?
我试试看
holder.lockCanvas()
但是这会返回 null,为什么?
最佳答案
我有同样的问题,我在播放器发布后使用这两行修复了它。
surfaceViewHolder.setFormat(PixelFormat.TRANSPARENT);
surfaceViewHolder.setFormat(PixelFormat.OPAQUE);
关于Android SurfaceView 在视频后显示图像(清晰表面),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18415940/