Intereting Posts
Получение разного байта scanRecord данные для одного устройства BLE во время сканирования с различными версиями Android-устройства Как установить заголовок для счетчика, который нельзя выбрать ..? AlarmManager срабатывает тревога за время, установленное в тот же день, setRepeating Как получить серийные данные с помощью Android-bluetooth Android – создать RESTful WebService – разместить его на мобильных устройствах Android получить текст из html AutoCompleteTextView отображает «android.database.sqlite.SQLiteCursor@» после выбора Может использовать только младшие 16 бит для requestCode (сервисы Google Play) Лучшие практики использования области с видом ресайклера? Передача двух параметров методу asynctask. как? Заменить диалог onBackPressed ()? Как восстановить удаленный проект консоли Google Учебники или введение для написания простого языка сценариев? Импорт библиотеки drag-sort-listview в проекте Android Studio gradle Привязка данных к Android: как получить полезные сообщения об ошибках

Android Video View не воспроизводит файл MP4 на некоторых устройствах

В моем приложении мне нужно воспроизводить видео с SDK. Теперь он отлично работает на Galaxy S, Galaxy Tab2, но на некоторых китайских вкладках. Как «Giada». Он не работает вообще.

У меня есть 4 различных вида деятельности для воспроизведения видео. Первое действие представляет собой меню, в котором есть ссылка на другую активность. Проблемы, с которыми я столкнулся.

  1. Первое видео воспроизводится правильно, но цикл завершен и приложение закрыто.
  2. Если я перейду к другой активности, чтобы воспроизвести другое видео, оно говорит «Невозможно воспроизвести видео» и закрыто. Некоторое время он воспроизводит то же видео, но не завершает и закрывает приложение между ними.

Расширение видео: разрешение MP4: 1024×600. Воспроизведение с: SDCard.

Спецификация табуляции.

Разрешение: 1024×600 Android: 4.1

Пробовал просмотр видео и SurfaceView.

Помогите мне, любая помощь будет с сожалением.

Ответ на этот вопрос никогда не будет согласован во всех устройствах или во всех видео.

Будет ли данный видеофайл воспроизводиться в данном проигрывателе, зависит от трех факторов:

  • Формат видеоконтейнера (тип файла).
  • Кодеки видео (и потенциально звуковые) потоки кодируются с помощью
  • Поддержка вашего проигрывателя для этой комбинации формата контейнера и кодека

Поддержка кодека и проигрывателя / устройства почти наверняка является причиной непоследовательных результатов, которые вы видели. (Кодек, если вы не знаете, является в основном повторяемой математической формулой, которая сообщает вашей системе, как превращать биты и байты в файл в движущиеся изображения (и обратно, если на то пошло))

В видеофайлах, плавающих вокруг, есть большое количество видеокодеков. Поддержка этих кодеков дико непоследовательна только благодаря истории распространения видео. Многие устройства не поддерживают потоки, закодированные некоторыми кодеками. Для этого существует множество причин, но наиболее распространенными являются затраты на неизвестность или лицензирование.

Например, до нескольких лет назад почти все было закодировано в контейнере .FLV с кодеком On2 VP6 / VP7 / VP8. Сегодня это вызывает головную боль, потому что в то время как On2 владеет этими кодеками, они постоянно удерживают лицензии. Это не ослабевало до тех пор, пока .FLV уже не потерял актуальность, и поэтому нет целого (законного) программного обеспечения там, которое может работать с On2-кодированным контентом.

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

Излишне говорить, что это не включает библиотеки, предоставленные вам и вашим конечным пользователям, на основе установленных на компьютере Android-библиотек.

Ну так что ты делаешь? Что ж, помимо производства видеопроигрывателя, который имеет свои собственные кодеки, вы можете наиболее эффективно решить проблему с помощью двухэтапного подхода:

  1. Целевые целевые устройства, над которыми вы хотите, чтобы ваше приложение работало
  2. Кодируйте свой контент, чтобы использовать использование видеокодека, который работает на всех устройствах, на которые вы хотите настроить таргетинг. Возможно, вам понадобится создать две копии вашего видео, если вы обнаружите, что нет кодека, который работает во всех устройствах, которые вы планируете поддерживать.

Сегодня самая широкая поддержка доступна с контейнером MP4 и видеопотоком, закодированным кодеком H.264 (AVC). Как я уже сказал, нет серебряной пули, а поддержка H.264 не универсальна никакими средствами, но этот формат будет играть больше потенциальных пользователей, чем любой другой единственный выбор, который вы могли бы сделать из-за его популярности и широкой поддержки в современных Настольных и мобильных средах.

Некоторые инструменты, которые могут оказаться полезными:

  • MediaInfo позволит вам заглянуть в видеоконтейнеры с поддержкой MPEG, чтобы узнать, какие кодеки используются. Это будет полезно при определении того, какие устройства имеют проблемы с кодеками.
  • FFmpeg – это приложение для кодирования, которое может конвертировать ваш контент в MP4 / H.264

Удачи!