5

我的任务 - 在 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,为什么?

4

1 回答 1

3

我有同样的问题,我在播放器发布后使用这两行来修复它。

surfaceViewHolder.setFormat(PixelFormat.TRANSPARENT);
surfaceViewHolder.setFormat(PixelFormat.OPAQUE);
于 2018-03-04T13:10:38.537 回答