Кто-нибудь сталкивался с проблемами с TextureView и MediaPlayer на Android 4.2.2?
РЕШЕНО: см. ответ ниже и как обслуживать файлы со встроенного HTTP-сервера.
ОБНОВЛЕНИЕ: видео, которые не отображаются, если они встроены в папку res/raw, воспроизводятся нормально, если они размещены в Интернете. См. ниже, например:
// This works
mMediaPlayer.setDataSource("http://someserver.com/test.mp4");
//This does not work. The file is the same as the one above but placed in res/raw.
String vidpath = "android.resource://" + getActivity().getPackageName() + "/" + R.raw.test;
mMediaPlayer.setDataSource(getActivity(), Uri.parse(vidpath));
Нам нужен вид текстуры, чтобы мы могли применить к нему некоторые эффекты. TextureView используется для отображения видео из MediaPlayer. Приложение работает на Android 4.1, 4.3 и 4.4 (на многих устройствах, включая старый Nexus S до Nexus 10 и Note 3), но на 4.2.2 TextureView становится черным. MediaPlayer не сообщает об ошибках или исключениях, и сообщаемые размеры видео являются правильными. Тестирование SurfaceView на этом конкретном устройстве отображает видео, но тогда мы не можем манипулировать представлением так, как нам нужно.
Интересным моментом является то, что TextureView работает на этом устройстве при воспроизведении потокового видео Nasa Live Streaming Video и некоторых других потоковых файлов m3u8 (http://www.nasa.gov/multimedia/nasatv/NTV-Public-IPS)..m3u8), но нам нужно воспроизводить встроенное видео из папки raw. Однако мы заметили, что в самом верху TextureView есть линия 4x1 пикселя, которая очень быстро мигает некоторыми цветами. Интересно, воспроизводит ли медиаплеер видео по этой тонкой линии, или, может быть, это проблема с кодировкой или проблема с оборудованием (это конкретное устройство 4.2.2 является имитацией iPad mini, называемого... haiPad >.‹ (какой из конечно это целевое устройство клиента - ненавижу тебя Мерфи)).
Вот информация, которую я смог собрать о видео, которое не воспроизводится:
MPEG-4 (Base Media / Version 2): 375 KiB, 5s 568ms
1 Video stream: AVC
1 Audio stream: AAC
Overall bit rate mode: Variable
Overall bit rate: 551 Kbps
Encoded date: UTC 2010-03-20 21:29:11
Tagged date: UTC 2010-03-20 21:29:12
Writing application: HandBrake 0.9.4 2009112300
Video: 466 Kbps, 560*320 (16:9), at 30.000 fps, AVC ([email protected]) (2 ref Frames)
У кого-нибудь есть указатели?