我有一个 MediaPlayer
将视频渲染到一个 TextureView
上,这个已经可以工作了。
现在,我想要在这个 TextureView
上显示一个静态图片一段时间,然后让 MediaPlayer
再将视频渲染到同样的 TextureView
上。
这是我用于渲染位图的代码:
Canvas canvas = mTextureView.lockCanvas();
canvas.drawBitmap(sourceBitmap, matrix, new Paint());
mTextureView.unlockCanvasAndPost(canvas);
在这之后,任何尝试播放视频的操作都会导致视频播放器触发
ERROR_INVALID_OPERATION
(-38)错误。我尝试将对
drawBitmap
的调用注释掉,但仍然出现错误。似乎只是对lockCanvas
的调用,然后紧接着对unlockCanvasAndPost
的调用就会导致TextureView
无法适用于MediaPlayer
使用。有没有办法可以重置
TextureView
以使其适用于MediaPlayer
使用?我的Android版本是4.2.2。