У меня есть 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.