Android SurfaceView视频后显示图像(清除表面)

Android SurfaceView视频后显示图像(清除表面),android,image,video,surfaceview,Android,Image,Video,Surfaceview,我的任务-在SurfaceView中停止显示图像后在SurfaceView上播放视频 我的游戏代码 mPlayer.setOnCompletionListener(onCompletionListener); setDisplay(view.getHolder()); mPlayer.reset(); mPlayer.setDataSource(文件.getAbsolutePath()); mPlayer.prepare(); mPlayer.start(); 视频播放一切正常 未完成 mPl

我的任务-在SurfaceView中停止显示图像后在SurfaceView上播放视频

我的游戏代码

mPlayer.setOnCompletionListener(onCompletionListener);
setDisplay(view.getHolder());
mPlayer.reset();
mPlayer.setDataSource(文件.getAbsolutePath());
mPlayer.prepare();
mPlayer.start();
视频播放一切正常

未完成

mPlayer.reset();
mPlayer.setDisplay(空);
view.setBackgroundDrawable(Drawable.createFromPath(file.toString());
但图像是透明的,在背景上我看到了最后一个视频帧——这不好。表面有多清晰

我试着用

holder.lockCanvas()

但是这个返回值为空,为什么?

我有一个相同的问题,我在玩家释放后用这两行代码修复了它

surfaceViewHolder.setFormat(PixelFormat.TRANSPARENT);
surfaceViewHolder.setFormat(PixelFormat.OPAQUE);