VLC は、VideoLAN プロジェクトが開発した無料のオープンソース クロスプラットフォーム マルチメディア プレーヤーです。ユーザーは VLC を使用することで、デバイスや画面サイズ、場所を問わず、あらゆるタイプの動画ファイルを再生できます。VideoLAN チームは、可能な限り多数のユーザーに最適な視聴体験を提供するために、Android TV のほか、タブレットや Chromebook などの大画面デバイスを含むさまざまなプラットフォーム向けに VLC アプリを適応させようと取り組んできました。
VideoLAN の取り組み
Android TV デバイスとモバイル デバイスでは、アプリの視聴環境がまったく異なります。Android TV の視聴者は画面から離れた場所に座り、従来のテレビ番組のように 1 回でコンテンツ ライブラリ全体を視聴することを期待するのに対し、モバイル ユーザーは選択した 1 つの動画のみを視聴することを求めています。また、Android TV ではリモコンでアプリを操作しますが、モバイルアプリではタッチスクリーンのみを使用します。
VideoLAN は、VLC のほとんどのモバイル UI を最新バージョンのアプリ(3.2)で維持することにしましたが、モバイル デバイスと Android TV の両方で最適な視聴体験を提供できるように、さらに改善を行う必要がありました。
テレビのリモコン向けに最適化
VideoLAN が最初に取り組んだのは、十字キーと数個のボタンしかない Android TV デバイスのリモコンを使用して、アプリの動画プレーヤー UI を簡単に操作できるようにすることでした。たとえば、動画プレーヤーのオプションをサイドパネルに移動したことで、スマートフォンやタブレットで完全なリストをタップしやすくなったと同時に、リモコンを使って簡単にブラウジングできるようになりました。
Leanback ライブラリのレイアウトを調整
Android TV デバイスでは、VLC ユーザーはモバイルのようにカテゴリを集約することなく、すべての動画カテゴリを一度に表示できます。このブラウジング機能を最適化するため、Leanback ライブラリでは拡張可能なフラグメントを使用して、デベロッパーはコンテンツごとにリッチなアニメーション エクスペリエンスを簡単に作成できます。
VideoLAN は、フローティング操作ボタンによる並べ替えとスクロールを可能にするカスタム ブラウジング UI を作成し、スクロール オプションごとにアニメーションを追加しました。また、リスト全体をスクロールしなくても、Android Auto アプリのように最初の文字で検索して動画コンテンツをすばやくブラウジングできるクイック スクロール機能も開発しました。
Android TV 用にまったく新しい UI を実装したことで、コードの大幅なリファクタリングが発生しましたが、その際に Android のアーキテクチャ コンポーネントで推奨されている Model-View-ViewModel(MVVM)が役立ちました。こうしたアーキテクチャ ガイドラインに沿うことで、UI コードとアプリロジックが明確に分離されたため、新しい UI の作成後にアプリロジックのコードを簡単に共有できるようになりました。現在、VLC のモバイル用 UI と Android TV 用 UI は同じコードによって動作しています。
また、Livedata 変換を使用して、モバイルで使用していた固有のリストから、動画情報(タイトル、追加日、動画の長さなど)でグループ化された要素を含むマップを作成しました。Android TV では動画が横向きで表示されるため、コンテンツを縦方向にスクロールできるリストで表示するのはなく、複数の行に分割しました。
音声操作と「次のおすすめ」機能の統合
VideoLAN は最後に MediaSession を実装し、Google アシスタントから音声コマンドで再生を制御できるようにしました。さらに、Android TV 用アプリのコードに「次のおすすめ」機能を追加しました。この機能を使用すると、ユーザーは Android TV のホーム画面から直接、前回再生した動画の再生を再開できます。
結果
無料で使いやすいメディア プレーヤーである VLC は、大画面で使用されることでその性能を最大限に発揮できます。VideoLAN チームの元には世界中のユーザーから好評の声が続々と寄せられ、フランスとスイスのインターネット サービス プロバイダからは、セットトップ ボックスのデフォルト アプリとして VLC を追加したいとのリクエストも受けました。
VideoLAN の議長である Jean-Baptiste Kempf 氏は次のように述べています。「テレビは VLC のようなメディア プレーヤーを使用するのに最適な環境なので、Android TV で VLC アプリを利用したいユーザーが多くいることはわかっていました。Android のコードの 95% を再利用できて、その結果にも満足しているため、Android TV は非常に最適化しやすいプラットフォームだったと言えるでしょう。」
VideoLAN は、小さい画面のスマートフォンから大画面のテレビまで、アプリをさまざまなデバイスに合わせて設計することで、お気に入りの動画をどこにいても視聴できることを求める多くのモバイル ユーザーにリーチすることを目指しています。
スタートガイド
Android TV 向けにアプリを最適化するためのベスト プラクティスをご確認ください。