Мне нужно, чтобы можно было поворачивать видео на экране, поэтому я создал пользовательский TextureView, который обеспечивает комфортный уровень над MediaPlayer, похожий на то, как выполняется текущая реализация VideoView. This Android blog post говорит следующее о TextureView:Android TextureView vs VideoView Performance
Поскольку содержание А SurfaceView в не живет в окне приложения, оно не может быть преобразован (перемещать, масштабировать, вращать) эффективно. Это затрудняет использование SurfaceView внутри ListView или ScrollView. SurfaceView также не может корректно взаимодействовать с некоторыми функциями инструментария пользовательского интерфейса, например, затухающими краями или View.setAlpha().
Для решения этих проблем в Android 4.0 представлен новый виджет TextureView, основанный на аппаратном ускоренном 2D-конвейере рендеринга и SurfaceTexture. TextureView предлагает те же возможности, что и SurfaceView, но, в отличие от SurfaceView, ведет себя как обычный вид. Например, вы можете использовать TextureView для отображения сцены OpenGL или видеопотока. Сам TextureView может быть анимированным, прокрученным и т. Д.
Однако, похоже, что TextureView пытается воспроизвести видео. На целевом устройстве, на котором я тестирую его, есть двухъядерный процессор Rockchip RK3066 с тактовой частотой 1,2 ГГц, четырехъядерный графический процессор Mali-400 (ARM) и 1 ГБ оперативной памяти. Тот же код с помощью VideoViews на этом устройстве отлично работает, но TextureViews либо «заикаются» во время воспроизведения, либо вообще не отображаются (черный ящик с белыми квадратами в левом верхнем углу), в зависимости от конкретного устройства. TextureViews отлично работают на эмуляторе с помощью устройства x86, поставляемого Intel.
Ожидается ли такое исполнение, или я должен искать в другом месте, чтобы найти проблему? Спасибо
Я мало знаю о вашей конкретной установке. Увидеть ваш sml и некоторые связанные с ним java могли бы помочь. Имеются ли весы для просмотра текстуры? Какие предупреждения возникают в редакторе пользовательского интерфейса? Они могут помочь вам. –
У вас есть возможность решить проблему или просто лучше избегать использования текстуры с помощью медиаплеера? –
мы не использовали 'TextureView' –