播放前表面透明

时间:2016-07-05 13:05:29

标签: android mediacodec surface

我有一个对话框,我在其中放置一个用于MediaCodec实例的表面来播放视频。

当我加载此对话框时,表面会显示透明几秒钟,直到mediacodec准备好并且视频播放正常。由于这是一个对话框,因此透明表面会显示下面的活动,而不是黑色背景。

由于我不能将画布自己画成黑色,因为这会阻止mediacodec访问它,我该如何解决这个问题呢?

1 个答案:

答案 0 :(得分:0)

您不能在对话框父布局中定义黑色背景吗?

这样即使表面是透明的,下面的对话框也不会是

编辑1:

这可以使表面视图透明,也许可以尝试使用它:

SurfaceView sfvTrack = (SurfaceView)findViewById(R.id.sfvTrack);
sfvTrack.setZOrderOnTop(true);    // necessary
SurfaceHolder sfhTrackHolder = sfvTrack.getHolder();
sfhTrackHolder.setFormat(PixelFormat.TRANSPARENT);

从这篇文章:how to make surfaceview transparent