2016-03-23 5 views
2

Когда я играю некоторые MP4 на VideoView, он работает в первый раз, когда я делаю это на определенном устройстве, но потом каждый раз, когда я снова пытаюсь воспроизвести это видео, у меня естьAndroid VideoView воспроизводит видео только один раз

Вт/MediaHTTPConnection: readAt 2862802/32768 => java.net.ProtocolException Е/медиаплеера: ошибка (1, -2147483648) Е/медиаплеера: ошибка (1, -2147483648)

Это не происходит, пока I очистить данные приложения. Затем я снова могу воспроизвести это видео.

Хотя, сброс данных один раз не всегда помогает. Иногда мне приходится делать это несколько раз. Более того, были случаи, когда видео воспроизводилось несколько раз подряд, не очищая данные.

Другое дело, что еще видео, которые закодированы то же не вызывает каких-либо проблем ...

ли VideoView хранить как-то видео, которое было уже играл и использовать его в следующий раз, когда он играл? Если да, есть ли возможность управлять им?

ответ

0

В моем личном опыте мы должны были сделать одну из двух вещей, чтобы обойти эту ошибку (ошибка, в основном, неизвестная ошибка).

Мы либо были, либо в буфере, либо загружаем видео сами (встроенный в VideoView, похоже, не работает должным образом, и кажется, что это было с тех пор, как 2.x он даже обновился) или B, перекодировать видео (более новые кодеки MP4 кажутся слишком сложными для реализации по умолчанию VideoView - с использованием Media Encoder от Adobe, мы могли бы перекодировать со старыми спецификациями). Это хорошее руководство для этого: http://developer.android.com/guide/appendix/media-formats.html

Возможно, вам также лучше использовать MediaPlayer - то, к чему мне приходилось прибегать (это не плохо, просто не так быстро или просто, как VideoView)

Там в несколько других вопросов, которые дают представление к этому:

Android MediaPlayer/VideoView error (1, -2147483648)

Android MediaPlayer error (1, -2147483648)

+0

Спасибо. Загрузка видео во внутреннее хранилище в OnErrorListener VideoView работала хорошо. – Mikolaj