【发布时间】:2014-01-04 13:31:39
【问题描述】:
我正在尝试将画布放在 VideoView 上。在这个画布上,我希望能够绘制图像(或矩形、线条等)。
我的 XML 文件中有以下 sn-p。
<VideoView
android:id="@+id/videoplayer"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
同样,我的目标是在此 VideoView 上创建一个画布,以便我可以在画布上放置图像。
所以,我最终会在视频上叠加图像。我还希望能够覆盖矩形和其他元素。
任何帮助将不胜感激!这比我想象的要难得多!
【问题讨论】:
-
我通过创建自己的自定义 VideoView 类然后在其画布上绘图取得了一些成功。现在的问题是原始视频消失了,只剩下图纸!我觉得这无论如何都不是最好的解决方案。任何帮助都会非常棒!
-
看起来画布被锁定了。你是怎么画出来的?
-
canvas.drawPoint 然后是 surfaceHolder.unlockCanvasAndPost
-
我实际上已经遵循了这个例子:androidhelpkatariya.blogspot.ca/2012/11/… 但它似乎扼杀了之前的观点。 (VideoView 继承自 SurfaceView)。以某种方式覆盖 GLSurfaceView 是个好主意吗?我还是很迷茫
-
对我来说正确的方法是如果您可以自定义 VideoView 并覆盖 onDraw(canvas)。但是现在的问题是:当您调用 setAnchorView(videoView); 时,MediaPlayer 可能会锁定画布;所以永远不会调用 onDraw() 并且 invalide() 不起作用。