Android по умолчанию не поддерживает многие форматы файлов мультимедиа (файлы, такие как .mkv). Но такие игроки, как MXPlayer и MoboPlayer, могут воспроизводить такие файлы. Как работают эти приложения? Есть ли какие-либо руководства по программированию или статьи, объясняющие, как это делается?Как приложения Media Player Android, такие как MXPlayer и MoboPlayer, воспроизводят неподдерживаемые форматы файлов, такие как MKV?
ответ
Android не поддерживает все медиаформаты по умолчанию. Следовательно, для поддержки неподдерживаемого формата такие приложения, как MoboPlayer, сами выполняют стандартные задачи медиаплеера, используя комбинацию Java и собственный код через JNI.
Чтобы узнать больше, посмотрим, что делает медиаплеер для воспроизведения медиафайла и как они выполняются MoboPlayer, как приложения на Android.
Typical tasks of a Media Player
Игрок должен выполнять следующие задачи (а) демультиплексируйте формат файла и извлечения видео/аудио (б) Декодирование видео и аудио (с) Отображение видео и воспроизведения звука. Давайте рассмотрим, как эти три области можно обрабатывать в случае игрока MoboPlayer.
File format Demux
Android не поддерживает все контейнеры формата файлов по умолчанию. Например, ASF (формат файла WMV-файлов) не поддерживается. Следовательно, у игрока должен быть собственный демультиплекс, чтобы выполнять эту работу. libavformat (используется FFMPEG) является ведущей библиотекой demux с открытым исходным кодом.
Video/Audio decode
кодек (используемый FFMPEG) является ведущим открытым исходным кодом библиотеки декодера, который декодирует поток демультиплексированного и производит несжатые необработанные выходные кадры. Следовательно, он часто используется такими игроками, как MoboPlayer.
Video display
Есть два варианта отображения видео. Игроки используют либо SurfaceView
буферы, либо ускоренные буферы OpenGL. Android предоставляет листинг объекта Java Surface (абстракция подстилающего поверхностного объекта flinger) внутреннему собственному объекту с именем NativeWindow
, к которому затем можно получить доступ с помощью собственного кода.
ICS (Android 4.0), Android предоставляет доступ к ускоренным буферам OpenGL (SurfaceTexure
и TextureView
). Они также могут использоваться для отображения видео.
Audio playout
Игроки могут непосредственно взаимодействовать с AudioTrack
объекта обеспечивается на уровне Java, чтобы играть декодированного сэмплы.
OakBytes прав. Эти игроки используют сторонние парсеры/программные декодеры либо фирменные, либо FFMPEG. Некоторые игроки также используют opengl для отображения. Большинство из них используют SuraceView, а его родной экземпляр NativeWindow отображает декодированное видео. Это работает без встроенного фреймворка и сидит параллельно ему. Следовательно, moboplayer также предоставляет возможность использовать программные или аппаратные декодеры. – peasea
- 1. Форматы, поддерживаемые iPhone media player
- 2. Как остановить Media Player другого приложения?
- 3. Уведомления Android, такие как WhatsApp
- 4. Как создавать приложения, такие как Balsamiq Mockups
- 5. Android: как отлаживать основные приложения, такие как Настройки
- 6. android media player delay
- 7. Uploadifive - разрешенные типы файлов, такие как uploadifty
- 8. Symfony копировать файлы, такие как загрузка файлов
- 9. IOS позволяют приложению импортировать неподдерживаемые форматы файлов
- 10. ffmpeg как добавить mkv в форматы
- 11. Как работают такие приложения, как LogMeIn и TeamViewer?
- 12. Как приложения, такие как Google Keep и Evernote, сохраняют изображения?
- 13. Как работают приложения, такие как iBetterCharge и coconutBattery?
- 14. C++: Как работают такие приложения, как Cheat Engine и ArtMoney?
- 15. Android Media Player - проигрывание с устройства данных
- 16. Почему мы не используем такие форматы URL?
- 17. Как настроить такие изображения?
- 18. Как отделить такие строки?
- 19. Как проходят такие темы?
- 20. КАК переписать такие ссылки?
- 21. Форматы файлов Android xml
- 22. Android Media Player Threading
- 23. Media Player In android
- 24. Как установить Media Player Длительность в android
- 25. Android: Как сохранить ссылку на Media Player?
- 26. Как надеть такие кнопки?
- 27. Как заказать такие элементы?
- 28. Android Media Player точность
- 29. android media player unresponsive
- 30. Как создать теги Google, такие как макет
mkv - это просто контейнер. вы можете использовать много разных видео/аудио кодеков внутри ... – Goddchen