FFmpeg开发笔记(八十七)采用Kotlin的手机开源播放器VLC-Android

《FFmpeg开发实战:从零基础到短视频上线》一书的"3.4.1 通用音视频播放器"介绍了如何在桌面系统上安装和使用通用音视频播放器VLC media player,其实VLC是个跨平台的播放器,它也提供了面向Android平台的手机版VLC。

Android版VLC的官网地址是https://code.videolan.org/videolan/libvlc-android,源码托管地址为https://github.com/videolan/vlc-android(星星数3.3k),国内镜像地址是https://gitcode.com/gh_mirrors/vl/vlc-android。最新版本为2025年9月发布的libvlc-3.6.4,可见该框架的源码更新十分及时,该版本的源码下载链接为https://github.com/videolan/vlc-android/archive/refs/tags/libvlc-3.6.4.tar.gz。
Android版的VLC可以播放桌面版VLC支持的所有文件,并拥有音频、视频文件和网络串流的媒体数据库。vlc-android是嵌入VLC引擎的Android库,它提供了下列的多媒体功能:
1、支持播放所有媒体文件格式、所有编解码器以及所有流媒体协议
2、硬件支持,每个平台都能高效解码,最高可达8K分辨率
3、通过菜单导航播放音频CD、DVD和蓝光光盘
4、支持HDR,包括为SDR流进行色调映射
5、支持视频和音频过滤器
6、支持360度视频和3D音频播放,包括Ambisonics
vlc-android采用Kotlin语言编写,接下来以Android Studio Ladybug(小瓢虫版本)为例,介绍如何通过Android Studio编译运行vlc-android工程。

一、补充gradle目录

下载完的vlc-android源码包缺少gradle目录,不能被Android Studio直接打开,需要先把其他App项目的gradle目录整个复制过来,并且打开gradle/gradle-wrapper.properties,把distributionUrl这行配置改成下面这样,表示使用8.14版本的Gradle

复制代码
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14-bin.zip

二、调整AGP配置

1、因为Android Studio Ladybug最高只支持到 AGP 8.7,所以打开项目级别的build.gradle,把下面这行

复制代码
ext.android_plugin_version = '8.11.1'

改为下面这样

复制代码
ext.android_plugin_version = '8.7.1'

2、打开settings.gradle,把下面这行

复制代码
id("com.android.settings") version '8.11.1'

改为下面这样

复制代码
id("com.android.settings") version '8.7.1'

3、打开settings.gradle,注释掉下面这行

复制代码
targetSdk = 36

三、修改编译用的JDK版本

在Android Studio主界面依次选择菜单:File→Settings→Build,Execution,Deployment→Build Tools→Gradle,把Gradle JDK栏的版本调整为JDK17。

因为Android Studio Ladybug自带的JDK版本为21,在编译时会报错:"Java compiler version 21 has deprecated support for compiling with source/target version 8."。

四、屏蔽掉revision

1、打开application/vlc-android/build.gradle,注释下面这行

复制代码
resValue "string", "build_revision", revision()

这是因为revision()会调用git命令,一旦命令执行失败就会导致App工程无法编译。

2、打开application/vlc-android/src/org/videolan/vlc/gui/dialogs/AboutVersionDialog.kt,注释掉下面这行:

复制代码
binding.revision.text = getString(R.string.build_revision)

完成以上四处修改后,重新编译App安装到真机上,启动后的VLC界面如下图所示:

可见vlc-android会主动搜索手机上的视频文件,并且支持视频、音频、浏览、播放列表以及更多菜单,具备桌面版VLC media player拥有的大部分功能。

更多详细的FFmpeg开发知识参见《FFmpeg开发实战:从零基础到短视频上线》一书。

相关推荐
其实防守也摸鱼7 小时前
Fastjson 反序列化漏洞(JNDI注入)
android·数据库·安全·oracle·自动化·fastjson·反序列化
狗凯之家源码网8 小时前
微博图床 PHP 系统搭建与实战应用指南
android·开发语言·php
有毒的教程9 小时前
AI文生视频转场提示词(直接复制,分类型|适配MiniMax H3 / 可灵 / Runway)
人工智能·音视频
消失的旧时光-19439 小时前
(第一篇)JNI 多线程到底难在哪:从 Linux Thread 到 JNIEnv
android·jni·ndk
浪淘沙jkp10 小时前
ComfyUI全方位指南(5)LTX-2.5 ComfyUI图生视频,文生视频可以你也可以的
音视频·comfyui
AIGC小尼11 小时前
MiniMax-H3 8G 显存 AI 漫剧进阶实战|ComfyUI 命令行调参、角色锁定与 FFmpeg 批量脚本全解析
人工智能·ffmpeg·comfyui·ai漫剧
企业数字化笔记12 小时前
视频上传怎么做才可靠?接收、存储、校验与管理的实现方案
音视频
逗脑IDE12 小时前
零基础学ESP32:蓝牙控制舵机——手机一点,舵机就转!
android·智能手机
清霜之辰12 小时前
骁龙 8397 舱驾融合平台端侧大模型部署:7B 模型本地推理与 64GB 内存账本
android
烽火聊员13 小时前
Android屏幕卡顿traces.txt拉取查看
android·java·android studio