Я использую TextureView
с MediaPlayer
как элемент внутри ListView
. Когда пользователь прокручивает вниз/вверх, а видео исчезает с экрана, я хотел бы продолжить играть где-нибудь, скажем, в правом нижнем углу. Я использую то же самое TextureView
, просто извлеките его из списка и добавьте в основной макет. MediaPlayer
тоже такой же. Чтобы уничтожить и воссоздать TextureView
.TextureView: эффект мерцания, когда MediaPlayer setSurface
Проблема - когда я устанавливаю поверхность для игрока, прокрутка замерзает на половину секунды. любая помощь оценена.
Мои onSurfaceTextureAvailable
:
@Override
public void onSurfaceTextureAvailable(SurfaceTexture surface, int width,
int height) {
Surface s = new Surface(surface);
mPlayer.setSurface(s);
}
Вы выполнили трассировку профилирования метода, чтобы увидеть, где эта половина секунды идет? – fadden
'MediaPlayer._setVideoSurface()' занимает 272,5 мс – aktober