2014-12-05 86 views
12

透明度有什么办法有透明区域的Android播放视频?当我尝试在VideoView中播放包含透明区域的WebM视频时,视图背景仍为黑色。我期望在透明区域看到父视图的背景,而不是黑色。视频与Android

到目前为止我发现的唯一工作解决方案是从视频帧中创建可绘制的动画,这不是非常有效的内存。

+0

所以,你希望你的活动的背景是透明的,只有VideoView应该是可见的用户?你尝试了什么?也许我有一个解决方案.. – Mike 2014-12-05 16:03:35

+1

不,我想播放有透明区域的视频,让父视图的背景通过视频看到。 – hleinone 2014-12-05 16:04:58

+0

你可以帧解码与MediaCodec一个表面纹理,然后渲染GLES质感。这需要视频编解码器解码为支持alpha的纹理格式。我不知道它是否会这样做。 – fadden 2014-12-05 16:17:47

回答

1

我知道这是一个有点晚,但也许它可以帮助不过。

我能想到的实现这一点的最佳方法是使用的OpenGL ES - 渲染通过表面的视频,并写一个小的着色器,去除要删除的颜色区域。 你可以找到在网络上这种技术的几个例子,也许这个链接可以提供一些Kickstart中: First steps in creating a chroma key effect using android camera