VLC 优化其 Android 应用,以便在更大屏幕上提供沉浸式视频体验

VLC 是一个免费的、开源的跨平台多媒体播放器,由 VideoLAN 项目 开发。与所有文件和屏幕的无缝兼容性是 VLC 设计的核心。VLC 能够播放大多数本地视频和音频文件以及各种流媒体协议,并且大量第三方应用使用 VLC 引擎来处理视频播放。最终,VideoLAN 的开发者希望用户能够在任何地方播放任何内容——无论他们喜欢什么设备或屏幕尺寸。

该团队最初为 Android 设计了 VLC 应用,不久之后,用户就开始请求在 Chromebook 上获得相同的体验。那时 VideoLAN 看到一个机会,可以通过将 VLC 带到 ChromeOS 来为用户提供桌面式体验。

通过针对 ChromeOS 和更大屏幕优化 Android 应用——以及从一开始就支持 x86 和 64 位 ARM——VideoLAN 确保 VLC 用户可以在各种不同的设备和尺寸上享受相同的沉浸式体验。

他们做了什么

团队首先注意到 VLC 用户在桌面上喜欢的功能,例如鼠标输入、右键菜单,并确保外部存储(即硬盘和 USB 闪存驱动器)正常工作。从那里开始,他们开始调整应用的布局和功能,以确保用户能够在类似桌面的环境中享受相同的这些功能。

键盘和鼠标支持

团队最重要的优化之一是支持键盘和鼠标输入。键盘支持允许用户使用快捷键和方向键轻松浏览应用程序,而鼠标输入则支持右键单击命令以及与 VLC 播放器之间文件的拖放操作。

动态调整大小

VideoLAN 设计了多个版本的布局,以便用户可以轻松缩放和调整应用程序的大小。由于团队已经为平板电脑设计了 VLC 的布局,因此适应更大、更宽的布局是一个相当简单的过程。他们还调整了播放器的音频设置,以利用大屏幕上额外的可用空间。

之前,团队需要使用单独的模拟器或单独的设备来测试每个布局。但是,借助 ChromeOS 对 Android 的支持,团队能够在同一设备上同时测试桌面、平板电脑和移动设备的 UI 布局,而无需使用模拟器。这大大加快了设计和测试时间。

现在有了ChromeOS 上的 Linux(测试版),开发人员可以使用 Android Studio 原生构建和测试 Android 应用,使 Chromebook 成为可用于开发的设备。

Image showing multiple versions of layout, examples of dynamic resizing across Mobile, Tablet and Laptop devices

使用 Kotlin 编写代码

最棒的是,团队所有工作都在Kotlin中完成,这是一种强大的编程语言,通过编写更安全、更简洁的代码帮助他们提高了生产力。通过减少应用程序的代码库,他们能够减少用于故障排除的时间,并有更多时间优化应用程序的布局和功能。

“我们通常不愿意对代码进行重大重构或重写,因为我们有可能会丢失功能,”VideoLAN 的首席 Android 开发人员 Geoffrey Métais 说。“我们很高兴发现从 Java 迁移到 Kotlin 的过程非常顺利,这要感谢 Android Studio 内置的迁移工具,而 Kotlin 的协程框架帮助我们提高了性能。”

结果

VideoLAN 使用相同的 APK 用于移动设备、ChromeOS 和 Android TV,因此首席开发人员只需两个月的时间即可优化每个平台的应用程序。用户几个月来一直在要求 VLC 支持 ChromeOS,尤其是在 DVD 播放方面,到目前为止,团队收到了 overwhelmingly positive feedback(极其积极的反馈)。此外,最新版本的 ChromeOS 完全支持外部存储,因此每个 Android 用户现在都可以享受到同样的好处。

“我们的团队一直在寻找新的机会,为我们的用户带来最大的影响,”VideoLAN 总裁 Jean-Baptiste Kempf 说。“针对 Chromebook 的优化帮助我们将应用程序扩展到大量的设备和尺寸规格,根据来自世界各地用户的反馈,我们显然达到了目标。”

开始使用

查看一些最佳实践,了解如何优化您的 ChromeOS 应用