AD/CC設定の読み取りとサブスクライブの実装(Fire TV)
サードパーティアプリの開発者は、音声ガイド(AD)設定とクローズドキャプション(CC)設定の読み取りやサブスクライブを行って、ユーザーがデバイス上でADやCCを有効にしているかどうかを確認することができます。このページでは、Fire TVアプリでこれらの設定を読み取りおよびサブスクライブする方法について説明します。
音声ガイド
音声ガイドは、Fire OSから追加できるセキュア設定です。
音声ガイドの実装
この設定のキーはaccessibility_audio_descriptions_enabled
として定義されます。この値は、ユーザーが初めて有効にしたときにのみセキュア設定に追加されます。デフォルト値は0
(オフ)ですが、設定を切り替えると1
(オン)に変わります。
AD設定の読み取り
これは通常のセキュア設定であるため、Settings.Secure.getInt(ContentResolver cr, String name, int def)
で読み取ることができます。詳細については、getInt
関数を参照してください。
AD設定を読み取るコード例は次のとおりです。
// 音声ガイドのセキュア設定の文字列を取得
static final String AUDIO_DESCRIPTION = "accessibility_audio_descriptions_enabled";
// デフォルト値は常にオフ(0)
int audioDescEnabled = Settings.Secure.getInt(getApplicationContext().getContentResolver(),
AUDIO_DESCRIPTION, 0);
// 音声ガイドが有効かどうかを示すブール値を取得
boolean enabled = (audioDescEnabled == 1);
Log.d(TAG, "音声ガイド:" + enabled);
AD設定のサブスクライブ
ContentObserver
を作成して登録することで、AD設定をサブスクライブできます。詳細については、ContentObserver
のAPIリファレンスを参照してください。
AD設定の変更をサブスクライブするコード例は次のとおりです。
ContentResolver contentResolver = getApplicationContext().getContentResolver();
// 音声ガイドのセキュア設定の文字列を取得
static final String AUDIO_DESCRIPTION = "accessibility_audio_descriptions_enabled";
// 音声ガイドのセキュア設定のURIを取得
static final Uri audio_uri = Settings.Secure.getUriFor
("accessibility_audio_descriptions_enabled");
// コンテンツオブザーバーのセットアップ
ContentObserver observer = new ContentObserver(new Handler()) {
@Override
public void onChange(boolean selfChange, Uri uri) {
// 変更されたURIが音声ガイドのURIと一致するかどうかを確認
if (uri != null && uri.equals(audio_uri)) {
int enabled = Settings.Secure.getInt(getApplicationContext().getContentResolver(),
AUDIO_DESCRIPTION, 0);
Log.d(TAG, "音声ガイド:" + enabled);
}
}
};
// 音声ガイドのセキュア設定の変更を登録
contentResolver.registerContentObserver(audio_uri, false, observer);
クローズドキャプション
クローズドキャプションも、Androidオープンソースプロジェクト(AOSP)のセキュア設定で保存されます。
クローズドキャプションの実装
CaptioningManager
を使用して、CCが有効になっているかどうかを示す設定の読み取りやサブスクライブを行うことができます。CaptioningManager
を取得するには、get SystemService(Context.CAPTIONING_SERVICE)
を使用します。詳細については、CaptioningManager
クラスとCAPTIONING_SERVICE
コンテキスト定数を参照してください。
CC設定の読み取り
CC設定を読み取るには、CaptioningManager
を使用してisEnabled()
を呼び出します。デフォルト値はfalse
(オフ)です。
CC設定を読み取る(およびログに記録する)コード例を次に示します。
// AndroidからCaptioningManagerをインポート
import android.view.accessibility.CaptioningManager;
// CaptioningManagerをコンテキストから取得
CaptioningManager captioningManager = (CaptioningManager) getApplicationContext().getSystemService
(Context.CAPTIONING_SERVICE);
// クローズドキャプションの設定を読み取ってログに記録
Log.d(TAG, "クローズドキャプションの設定:" + captioningManager.isEnabled());
CC設定のサブスクライブ
CC設定をサブスクライブするには、CaptioningChangeListener
をセットアップしてCaptioningManager
に追加します。詳細については、addCaptioningChangeListener
関数を参照してください。
CC設定が変更されると、publicメソッドのonEnabledChanged(boolean enabled)
が呼び出されます。
CC設定の変更をサブスクライブするコード例は次のとおりです。
// AndroidからCaptioningManagerをインポート
import android.view.accessibility.CaptioningManager;
// CaptioningManagerをコンテキストから取得
CaptioningManager captioningManager = (CaptioningManager) getApplicationContext().getSystemService
(Context.CAPTIONING_SERVICE);
// CaptioningChangeListenerのセットアップ
CaptioningManager.CaptioningChangeListener captionListener = new CaptioningManager.
CaptioningChangeListener() {
// この場合は、クローズドキャプションの有効/無効が切り替わったらログステートメントを出力
@Override
public void onEnabledChanged(boolean enabled) {
Log.d(TAG, "クローズドキャプション:" + enabled);
}
};
// CaptioningManagerの変更のリスナーを追加
captioningManager.addCaptioningChangeListener(captionListener);
関連リソース
Last updated: 2025年8月22日