RSS Android開発者ブログ
フォロー
Media3でメディア再生を向上させる:プリロード機能のご紹介 - パート1
ユーザーエクスペリエンスにとってスムーズな動画再生は不可欠ですが、レイテンシは大きな障壁となります。従来、プレイヤーは読み込み前に選択を待つ必要があり、これはショートフォーム動画には遅すぎます。解決策は、必要になる前にコンテンツを準備するプロアクティブなプリロードです。プリロードは、再生開始の高速化、バッファリングの削減、全体的なエクスペリエンスの向上をもたらします。この記事では、Media3 のプリロードユーティリティを 3 部構成のシリーズで紹介します。第 1 部では、基盤に焦点を当てます。Media3 のプリロード戦略を理解し、DefaultPreloadManager をセットアップします。プリロードの核となる考え方は、キッチンで材料を準備するように、再生が始まる前にコンテンツセグメントをダウンロードすることです。Media3 は、プリロードのために 2 つの主要な API を提供します。1 つ目は PreloadConfiguration で、プレイヤーが次のアイテムを自動的にプリロードする予測可能なプレイリストに適しています。これは、プリロードを試すための低負荷なオプションです。2 つ目の API は PreloadManager で、次に再生されるアイテムが常にシーケンシャルではない縦型フィードやカルーセルなどの動的な UI 向けに設計されています。標準的な実装である DefaultPreloadManager は、何をどれだけプリロードするかを細かく制御できます。これは、再生中のアイテムとの近さに基づいて、プリロード期間と優先度を定義する TargetPreloadStatusControl を使用します。これにより、リソース利用の最適化が可能になります。PreloadManager を使用するには、UI に表示されたときに MediaItem を追加します。ユーザーが動画を選択したら、マネージャーからプリロードされた MediaSource を取得して、より高速な再生を実現します。マネージャーを現在の再生インデックスで常に最新の状態に保ち、もはや関連性のないアイテムを削除することが重要です。最後に、リソースを解放するために、もはや必要なくなったときに PreloadManager を解放することを忘れないでください。デモでは、従来のメソッドと比較して読み込み時間が短縮された PreloadManager の利点を強調しています。