AudioFocusManager
オーディオフォーカスマネージャーを使用すると、オーディオフォーカスセッションの作成と破棄を行うことができます。これにより、1つのオーディオソースを通常どおりに再生しながら、ほかのオーディオソースの音量を下げるか(ダッキングとも呼ばれます)、ほかのオーディオソースを一時停止または停止することが可能になり、複数のオーディオソースが同時に再生されるのを回避できます。
必要なサービス
このAPIには、システムオーディオサービスの宣言が必要です。
[wants]
[[wants.service]]
id = "com.amazon.audio.control"
使用される型
*
コンストラクタ
new AudioFocusManager()
new AudioFocusManager(): AudioFocusManager
戻り値
プロパティ
defaultFocusSession
staticdefaultFocusSession: AudioFocusSession =null
メソッド
createAudioFocusSessionAsync()
staticcreateAudioFocusSessionAsync():Promise<AudioFocusSession>
新規で作成します。各セッションでは、オーディオフォーカスリクエストとコールバックを個別に管理できます。複数のセッションを作成して、さまざまなオーディオストリームを個別に管理できます。
使用例:
- 音楽再生とナビゲーション用の各種セッション
- 音声アシスタント応答用の個別セッション
- ゲームオーディオ用の独立したセッション
戻り値
Promise<AudioFocusSession>
Promise:以下に解決されるプロミスオブジェクト:
- 新しいオブジェクト(処理が成功した場合)
または、次の値で拒否します。
STATUS_NO_MEMORY (-1): セッションを割り当てることができませんでしたSTATUS_NO_INIT (-3): オーディオフォーカスシステムが初期化されていませんSTATUS_DEAD_OBJECT (-5): サーバー通信エラー
例
/*
Promiseの解決後にAudioFocusSessionオブジェクトを返します。
*\/
const session = AudioFocusManager.createAudioFocusSessionAsync()
.then((session) => {return session;}).catch((error) => console.log(error));
destroyAudioFocusSessionAsync()
staticdestroyAudioFocusSessionAsync(sessionObject: AudioFocusSession):Promise<AudioFocusStatus>
既存のオーディオフォーカスセッションを破棄し、関連するすべてのリソースをリリースします。このセッションが不要になったときに、システムリソースを解放するために呼び出す必要があります。このセッションでアクティブなフォーカスリクエストはすべて、自動的にリリースされます。
重要: 破棄したセッションオブジェクトを再使用しないでください。
パラメーター
sessionObject
破棄するセッション
戻り値
Promise<AudioFocusStatus>
Promise:以下に解決されるプロミスオブジェクト:
AUDIO_FOCUS_STATUS_NO_ERROR (0): セッションが破棄されましたAUDIO_FOCUS_STATUS_BAD_VALUE (-2): セッションオブジェクトが無効ですAUDIO_FOCUS_STATUS_NO_INIT (-3): オーディオフォーカスシステムが初期化されていませんAUDIO_FOCUS_STATUS_INVALID_OPERATION (-8): セッションは既に破棄されています
例
/*
sessionはAudioFocusSessionオブジェクトであると想定します。
セッションを破棄し、AudioFocusStatus型に解決されるプロミスオブジェクトを返します。
*\/
const status = AudioFocusManager.destroyAudioFocusSessionAsync(session)
.then((status) => {return status;}).catch((error) => console.log(error));
getDefaultAudioFocusSessionAsync()
staticgetDefaultAudioFocusSessionAsync():Promise<AudioFocusSession>
デフォルトのオーディオフォーカスセッションを取得します。オーディオストリームがフォーカスセッションを明示的に指定していない場合に使用されるシングルトンインスタンスです。デフォルトセッションは最初のアクセス時に作成され、アプリケーションが終了するまで持続します。
重要な注意事項:
- デフォルトセッションは、デフォルトフォーカスを使用するすべてのコンポーネントで共有されます
- デフォルトセッションでのフォーカスの変更は、そのセッションを使用するすべてのストリームに影響します
- 独立したフォーカス制御を行うには、専用のセッションを作成してください
戻り値
Promise<AudioFocusSession>
Promise:以下に解決されるプロミスオブジェクト:
- デフォルトのAudioFocusSessionインスタンス。または、次の値で拒否します。
STATUS_NO_MEMORY (-1): デフォルトセッションを作成できませんでしたSTATUS_NO_INIT (-3): オーディオフォーカスシステムが初期化されていませんSTATUS_DEAD_OBJECT (-5): サーバー通信エラー
例
/*
Promiseの解決後にデフォルトのAudioFocusSessionオブジェクトを返します。
*\/
const session = AudioFocusManager.getDefaultAudioFocusSessionAsync()
.then((session) => {return session;}).catch((error) => console.log(error));
getMajorVersion()
staticgetMajorVersion():number
メジャーバージョン番号を取得します。互換性チェックと機能検出に使用できます。
戻り値
number
number:モジュールのメジャーバージョン番号
getMinorVersion()
staticgetMinorVersion():number
マイナーバージョン番号を取得します。互換性チェックと機能検出に使用できます。
戻り値
number
number:モジュールのマイナーバージョン番号
getPatchVersion()
staticgetPatchVersion():number
パッチバージョン番号を取得します。互換性チェックと機能検出に使用できます。
戻り値
number
number:モジュールのパッチバージョン番号
Last updated: 2026年7月22日

