すべてのプロダクト
Search
ドキュメントセンター

Alibaba Cloud DNS:Android で ExoPlayer と Mobile DNS (HTTPDNS) を統合する

最終更新日:Nov 09, 2025

このトピックでは、Android で ExoPlayer と Mobile DNS (HTTPDNS) を統合する方法について説明します。

概要

ExoPlayer は、Google によって開発され、Android プラットフォーム向けに最適化されたオープンソースのマルチメディアプレーヤーライブラリです。 Android の組み込み MediaPlayer と比較して、ExoPlayer はより柔軟で拡張性があり、ローカルファイル、ネットワークストリーミング、さまざまなフォーマット(MP4、HLS、DASH など)の再生など、さまざまなメディア再生ニーズに適しています。

ExoPlayer は OkHttpDataSource を使用して、ネットワークリクエストを処理し、リソースデータを読み取ります。OkHttp は、カスタム DNS サービス用のインターフェイスを公開しており、Mobile DNS (HTTPDNS) を使用できます。

統合ステップ

1. OkHttp 拡張 SDK の追加

使用している ExoPlayer のバージョンに基づいて、適切な OkHttp 拡張 SDK を選択する必要があります。

  • androidx media より前のバージョンの ExoPlayer を使用している場合は、次の依存関係を追加する必要があります。

implementation "androidx.media3:media3-datasource-okhttp:x.x.x"
  • ExoPlayer2 バージョンを使用している場合は、次の依存関係を追加する必要があります。

implementation "com.google.android.exoplayer:extension-okhttp:x.x.x"
重要

上記の両方のソリューションで、OkHttp 拡張 SDK のバージョンは ExoPlayer SDK のバージョンと一致している必要があります。

2. OkHttp 拡張 SDK の使用

ExoPlayer を初期化するときは、OkHttp 拡張 SDK を使用します。

説明

2 つの ExoPlayer バージョンで使用される OkHttp 拡張 SDK のコードは同じです。

ExoPlayer player = new ExoPlayer.Builder(context)
        .setMediaSourceFactory(new DefaultMediaSourceFactory(new OkHttpDataSource.Factory(new Call.Factory() {
                    @NonNull
                    @Override
                    public Call newCall(@NonNull Request request) {
                        // プロジェクトの OkHttpClient インスタンスの値に置き換えます。
                        return client.newCall(request);
                    }
                })))
        .build();

3. 使用: Mobile DNS (HTTPDNS)

最後に、Mobile DNS (HTTPDNS) を OkHttp ネットワークライブラリと統合します。詳細については、「Android で HTTPDNS Android SDK と OkHttp フレームワークを統合するためのベストプラクティス」をご参照ください。