Amazon Developer

as

Settings
Sign out
Notifications
Alexa
Amazonアプリストア
Ring
AWS
ドキュメント
Support
Contact Us
My Cases
開発
設計と開発
公開
リファレンス
サポート

AudioManager

AudioManager

オーディオマネージャーを使用すると、音量調整やミュート制御などのオーディオ管理を行うことができます。

必要な権限

このAPIでは、特定の操作に特定の権限が必要です。

[[needs.privilege]]
id = "com.amazon.audio.privilege.settings.control"

このAPIには、システムオーディオサービスの宣言も必要です。

[wants]
[[wants.service]]
id = "com.amazon.audio.control"

使用される型

以下を参照してください

  • *

コンストラクタ

new AudioManager()

new AudioManager(): AudioManager

戻り値

AudioManager

メソッド

allocateCustomAudioEffectSessionAsync()

static allocateCustomAudioEffectSessionAsync(): Promise<Int32>

カスタムオーディオエフェクトの一意のセッションIDを作成します。このIDを使用して、オーディオエフェクトを特定の再生ストリームまたは録音ストリームに関連付けることができます。

戻り値

Promise<Int32>

Promise:以下に解決されるプロミスオブジェクト:

  • 正の数: 新しい一意のセッションID

次の値で拒否:

  • (-1): セッションを割り当てることができませんでした
  • (-5): サーバー接続が失われました

areSystemSoundsEnabledAsync()

static areSystemSoundsEnabledAsync(): Promise<boolean>

システムサウンドが現在有効になっているか確認します。

戻り値

Promise<boolean>

Promise:以下に解決されるプロミスオブジェクト:

  • true: システムサウンドが有効になっています
  • false: システムサウンドが無効になっています

次の値で拒否:

  • (-5): サーバー接続が失われました

disableAvrcpAbsoluteVolumeAsync()

static disableAvrcpAbsoluteVolumeAsync(btAddress: String): Promise<AudioStatus>

BluetoothデバイスのAVRCP絶対音量制御を無効にします。無効にすると、システムが音量を制御します。

必要な権限:com.amazon.audio.privilege.settings.control

このAPIはKeplerシステムアプリケーションに限定されており、他のアプリでは使用できません。適切な権限なしでこのAPIを呼び出すと、何も実行されないか、セキュリティ例外が発生する可能性があります。

パラメーター

btAddress

String

Bluetoothデバイスのアドレス

戻り値

Promise<AudioStatus>

Promise:以下に解決されるプロミスオブジェクト:

  • (0): 成功しました
  • (-2): アドレスが無効です
  • (-9): 権限がありません
  • (-8): デバイスはAVRCPをサポートしていません
  • (-5): サーバー接続が失われました

disableSystemSoundsAsync()

static disableSystemSoundsAsync(): Promise<AudioStatus>

すべてのシステムサウンドを無効にします。システムサウンドは、再度有効にするまで再生されません。

戻り値

Promise<AudioStatus>

Promise:以下に解決されるプロミスオブジェクト:

  • (0): 成功しました
  • (-5): サーバー接続が失われました
  • (-8): 操作が失敗しました

disableUsageAsync()

static disableUsageAsync(usage: Int32): Promise<AudioStatus>

特定の使用タイプのオーディオ再生を無効にします。現時点では、USAGE_NOTIFICATIONのみをサポートしています。

必要な権限:com.amazon.audio.privilege.settings.control

このAPIはKeplerシステムアプリケーションに限定されており、他のアプリでは使用できません。適切な権限なしでこのAPIを呼び出すと、何も実行されないか、セキュリティ例外が発生する可能性があります。

パラメーター

usage

Int32

無効にする使用タイプ

戻り値

Promise<AudioStatus>

Promise:以下に解決されるプロミスオブジェクト:

  • (0): 成功しました
  • (-2): 使用タイプが無効か、サポートされていません
  • (-9): 権限がありません
  • (-5): サーバー接続が失われました

enableAvrcpAbsoluteVolumeAsync()

static enableAvrcpAbsoluteVolumeAsync(btAddress: String): Promise<AudioStatus>

BluetoothデバイスのAVRCP絶対音量制御を有効にします。有効にすると、Bluetoothデバイス自体が音量を制御します。

必要な権限:com.amazon.audio.privilege.settings.control

このAPIはKeplerシステムアプリケーションに限定されており、他のアプリでは使用できません。適切な権限なしでこのAPIを呼び出すと、何も実行されないか、セキュリティ例外が発生する可能性があります。

パラメーター

btAddress

String

Bluetoothデバイスのアドレス

戻り値

Promise<AudioStatus>

Promise:以下に解決されるプロミスオブジェクト:

  • (0): 成功しました
  • (-2): アドレスが無効です
  • (-9): 権限がありません
  • (-8): デバイスはAVRCPをサポートしていません
  • (-5): サーバー接続が失われました

enableSystemSoundsAsync()

static enableSystemSoundsAsync(): Promise<AudioStatus>

無効にしたシステムサウンドを有効にします。システムサウンドはデフォルトで有効になっています。

戻り値

Promise<AudioStatus>

Promise:以下に解決されるプロミスオブジェクト:

  • (0): 成功しました
  • (-5): サーバー接続が失われました
  • (-8): 操作が失敗しました

enableUsageAsync()

static enableUsageAsync(usage: Int32): Promise<AudioStatus>

特定の使用タイプのオーディオ再生を有効にします。現時点では、USAGE_NOTIFICATIONのみをサポートしています。これ以外の用途を設定すると、この関数は

「[com.amazon.apmf.SecurityError]: No Permission」例外をスローします。

必要な権限:com.amazon.audio.privilege.settings.control

このAPIはKeplerシステムアプリケーションに限定されており、他のアプリでは使用できません。適切な権限なしでこのAPIを呼び出すと、何も実行されないか、セキュリティ例外が発生する可能性があります。

パラメーター

usage

Int32

有効にする使用タイプ

戻り値

Promise<AudioStatus>

Promise:以下に解決されるプロミスオブジェクト:

  • (0): 成功しました
  • (-2): 使用タイプが無効か、サポートされていません
  • (-9): 権限がありません
  • (-5): サーバー接続が失われました

getAudioDeviceListAsync()

static getAudioDeviceListAsync(device: AudioDevice, role: AudioRole): Promise<AudioDeviceInfo[]>

指定されたロールに一致する、使用可能なオーディオデバイスのリストを取得します。

パラメーター

device

AudioDevice

フィルタリングの基準となるデバイスタイプ。任意のデバイスの場合はDEVICE_ALL。値:

  • (0x0)
  • (1 30)
  • (1 0)
  • (1 1)
  • (1 2)
  • (1 3)
  • および、列挙型で定義されているその他のデバイスタイプ
role

AudioRole

フィルタリングの基準となるロール。値:

  • (0): 入力デバイス
  • (1): 出力デバイス
  • (2): 入力デバイスと出力デバイスの両方

戻り値

Promise<AudioDeviceInfo[]>

PromiseAudioDeviceInfo[]:AudioDeviceInfoオブジェクトの配列に解決されるプロミスオブジェクト。

各オブジェクトには以下が含まれます。

  • role: AudioRole
  • type: AudioDevice
  • name: string
  • formats: AudioSampleFormat[]
  • sampleRates: AudioSampleRate[]
  • channelMasks: AudioChannelMask[]

次の値で拒否:

  • (-2): パラメーターが無効です
  • (-5): サーバー接続が失われました

getGlobalVolumeMuteAsync()

static getGlobalVolumeMuteAsync(): Promise<boolean>

現在のグローバル音量ミュート状態を取得します。

戻り値

Promise<boolean>

Promise:以下に解決されるプロミスオブジェクト:

  • true: グローバルミュートが有効になっています
  • false: グローバルミュートが無効になっています

次の値で拒否:

  • (-5): サーバー接続が失われました

/*
グローバルミュートステータスを取得し、Promiseの解決後にブール値をglobal_muteに格納します。
*\/

const global_mute = AudioManager.getGlobalVolumeMuteAsync().then((global_mute) => {return global_mute;}).catch((error) => console.log(error));


getMajorVersion()

static getMajorVersion(): number

メジャーバージョン番号を取得します。バージョンの確認に使用できます。

戻り値

number

number:メジャーバージョン番号を取得します。


getMaxVolumeAsync()

static getMaxVolumeAsync(): Promise<Int32>

現在の最大音量制限を取得します。

戻り値

Promise<Int32>

Promise:以下に解決されるプロミスオブジェクト:

  • 0~100: 現在の最大音量制限

次の値で拒否:

  • (-5): サーバー接続が失われました

const testGetMaxVolume = async () => {
    let maxVolume = await AudioManager.getMaxVolumeAsync();
    console.log("getMaxVolumeAsync(): SUCCESS, Max volume: ", maxVolume);
};


getMicMuteAsync()

static getMicMuteAsync(): Promise<boolean>

現在のマイクのミュート状態を取得します。

戻り値

Promise<boolean>

Promise:以下に解決されるプロミスオブジェクト:

  • true: マイクはミュートされています
  • false: マイクはミュートされていません

次の値で拒否:

  • (-5): サーバー接続が失われました

/*
マイク入力のミュートステータスを取得し、Promiseの解決後に返されたブール値を
mute_statusに格納します。
*\/

const mute_status = AudioManager.getMicMuteAsync()
.then((mute_status) => {return mute_status;}).catch((error) => console.log(error));


getMinorVersion()

static getMinorVersion(): number

マイナーバージョン番号を取得します。バージョンの確認に使用できます。

戻り値

number

number:マイナーバージョン番号を取得します。


getMuteAsync()

static getMuteAsync(volType: AudioVolumeType): Promise<boolean>

特定の音量タイプのシステム全体にわたるミュート状態を取得します。

必要な権限:com.amazon.audio.privilege.settings.control

このAPIはKeplerシステムアプリケーションに限定されており、他のアプリでは使用できません。適切な権限なしでこのAPIを呼び出すと、何も実行されないか、セキュリティ例外が発生する可能性があります。

パラメーター

volType

AudioVolumeType

照会先の音量タイプ。タイプを知りたい場合に参照してください。

戻り値

Promise<boolean>

Promise:以下に解決されるプロミスオブジェクト:

  • true: 音量タイプがミュートされています
  • false: 音量タイプがミュートされていません

次の値で拒否:

  • (-2): 音量タイプが無効です
  • (-9): 権限がありません
  • (-5): サーバー接続が失われました

const testGetMuteAsync = async () => {
    let muteStatus = await AudioManager.setMuteAsync(AudioVolumeType.VOLUME_TYPE_MEDIA);
    console.log("setMuteAsync(): SUCCESS, Mute state: ", Boolean(muteStatus));
};


getPatchVersion()

static getPatchVersion(): number

パッチバージョン番号を取得します。バージョンの確認に使用できます。

戻り値

number

number:パッチバージョン番号


getSinkFormatsSelectionPolicyAsync()

static getSinkFormatsSelectionPolicyAsync(): Promise<Int32>

オーディオ出力形式を選択するために現在のポリシーを取得します。

戻り値

Promise<Int32>

Promise:以下に解決されるプロミスオブジェクト:

  • SinkFormatsSelectionPolicyの値。参照してください。

次の値で拒否:

  • (-5): サーバー接続が失われました

const testGetSinkFormatsSelectionPolicyAsync = async () => {
    let currentSinkPolicy = await AudioManager.getSinkFormatsSelectionPolicyAsync();
    console.log("getSinkFormatsSelectionPolicyAsync() 現在のフォーマット:", currentSinkPolicy);
};


getSupportedPlaybackConfigurationsAsync()

static getSupportedPlaybackConfigurationsAsync(attributes: AudioAttributes, deviceType: Int32): Promise<AudioConfigAttr[]>

指定された属性とデバイスで再生するためのサポート対象オーディオ構成を取得します。これを使用して、形式、サンプルレート、チャネルの有効な組み合わせを決定します。

パラメーター

attributes

AudioAttributes

コンテンツのタイプと使用を定義するオーディオ属性

deviceType

Int32

照会先のデバイスタイプ。現在の出力にはDEVICE_DEFAULTを使用します。

戻り値

Promise<AudioConfigAttr[]>

PromiseAudioConfigAttr[]:サポート対象の構成の配列に解決されるプロミスオブジェクト。

各構成には以下が含まれます。

  • sampleRate: AudioSampleRate
  • channelMask: AudioChannelMask
  • format: AudioSampleFormat
  • layout: SampleLayout

次の値で拒否:

  • (-2): パラメーターが無効です
  • (-0): 使用可能な構成はありません
  • (-5): サーバー接続が失われました

let supportedAudioConfigs = await AudioManager.getSupportedPlaybackConfigurationsAsync(configAttr, AudioDevice.DEVICE_DEFAULT);

for (let audioConfig: supportedAudioConfigs) {
  console.log("フォーマット", audioConfig.format);
  console.log("サンプルレート", audioConfig.sampleRate);
  console.log("チャンネルマスク", audioConfig.channelMask);
  console.log("レイアウト", audioConfig.layout);
}


getSupportedRecordConfigurationsAsync()

static getSupportedRecordConfigurationsAsync(excludeDisconnectedDevice: boolean, sourceType: Int32): Promise<AudioConfigAttr[]>

録音用のサポート対象オーディオ構成を取得します。これを使用して、録音の形式、サンプルレート、チャネルの有効な組み合わせを決定します。

パラメーター

excludeDisconnectedDevice

boolean

trueの場合、接続されているデバイスの構成のみを返します。falseの場合、構成ファイルからサポート対象のすべての構成を返します。

sourceType

Int32

構成の照会先となるオーディオソースタイプ

戻り値

Promise<AudioConfigAttr[]>

PromiseAudioConfigAttr[]:サポート対象の構成の配列に解決されるプロミスオブジェクト。

各構成には以下が含まれます。

  • sampleRate: AudioSampleRate
  • channelMask: AudioChannelMask
  • format: AudioSampleFormat
  • layout: SampleLayout

次の値で拒否:

  • (-2): パラメーターが無効です
  • (-0): 使用可能な構成はありません
  • (-5): サーバー接続が失われました

getSupportedSinkFormatsSelectionPoliciesAsync()

static getSupportedSinkFormatsSelectionPoliciesAsync(): Promise<SinkPolicies[]>

サポート対象のシンクフォーマット選択ポリシーのリストを取得します。デバイスによってはサポートされていないポリシーもあります。このリストを使用して、使用可能なオプションを確認してください。

戻り値

Promise<SinkPolicies[]>

PromiseSinkPolicies[]:サポート対象のポリシーの配列に解決されるプロミスオブジェクト。

配列の要素には以下が含まれます。

  • policy: number (SinkFormatsSelectionPolicy value)

次の値で拒否:

  • (-5): サーバー接続が失われました

const testGetSupportedSinkFormatsSelectionPoliciesAsync = async () => {
    let supportedSinkFormats = await AudioManager.getSupportedSinkFormatsSelectionPoliciesAsync();

    if (supportedSinkFormats.length > 0) {
        supportedSinkFormats.forEach(data => {
            console.log("サポート対象ポリシー(整数表現):", parseInt(data), "\n");
        });
    }
};


getSystemSoundThemeAsync()

static getSystemSoundThemeAsync(): Promise<String>

現在アクティブなシステムサウンドテーマを取得します。

戻り値

Promise<String>

Promise:以下に解決されるプロミスオブジェクト:

  • String: 現在のテーマ識別子

次の値で拒否:

  • (-1): テーマが設定されていません
  • (-5): サーバー接続が失われました

getSystemSoundThemeListAsync()

static getSystemSoundThemeListAsync(): Promise<AudioTheme[]>

サポート対象のすべてのシステムサウンドテーマのリストを取得します。システムサウンドテーマは、システムイベント用のさまざまなサウンドセットを定義します。

戻り値

Promise<AudioTheme[]>

PromiseAudioTheme[]:AudioThemeオブジェクトの配列に解決されるプロミスオブジェクト:

各オブジェクトには以下が含まれます。

  • theme:文字列(テーマの識別子)

次の値で拒否:

  • (-1): テーマファイルが見つかりません
  • (-5): サーバー接続が失われました

getTelephonyMuteAsync()

static getTelephonyMuteAsync(device: AudioDevice, address: String): Promise<boolean>

特定のデバイスのテレフォニーオーディオのミュート状態を取得します。

パラメーター

device

AudioDevice

照会先のデバイス

address

String

デバイスの一意の識別子。

戻り値

Promise<boolean>

Promise:以下に解決されるプロミスオブジェクト:

  • true: テレフォニーの音声はミュートになっています
  • false: テレフォニーの音声はミュートになっていません

次の値で拒否:

  • (-2): パラメーターが無効です
  • (-8): デバイスがテレフォニーモードになっていません
  • (-5): サーバー接続が失われました

let muteStatus = await AudioManager.getTelephonyMuteAsync(AudioDevice.DEVICE_TELEPHONY, "0X859978AF");
console.log("getTelephonyMuteAsync(): SUCCESS, Mute state: ", Boolean(muteStatus));


getVolumeAsync()

static getVolumeAsync(type: AudioVolumeType): Promise<Int32>

特定のオーディオタイプについて、現在のシステム全体の音量レベルを取得します。

必要な権限:com.amazon.audio.privilege.settings.control

このAPIはKeplerシステムアプリケーションに限定されており、他のアプリでは使用できません。適切な権限なしでこのAPIを呼び出すと、何も実行されないか、セキュリティ例外が発生する可能性があります。

パラメーター

type

AudioVolumeType

照会先のオーディオタイプ。タイプを知りたい場合に参照してください。

戻り値

Promise<Int32>

Promise:以下に解決されるプロミスオブジェクト:

  • 0~100: 現在の音量レベル
  • (-2): タイプが無効です
  • (-9): 権限がありません
  • (-5): サーバー接続が失われました

/*
オーディオタイプのメディアの音量をパーセントで取得し、promiseの解決後にvolumeに格納します。
*\/

const volume = AudioManager.getVolumeAsync(AudioVolumeType.VOLUME_TYPE_MEDIA)
.then((volume) => {return volume;}).catch((error) => console.log(error));


isAvrcpAbsoluteVolumeEnabledAsync()

static isAvrcpAbsoluteVolumeEnabledAsync(btAddress: String): Promise<boolean>

BluetoothデバイスのAVRCP絶対音量制御が有効になっているか確認します。

パラメーター

btAddress

String

Bluetoothデバイスのアドレス

戻り値

Promise<boolean>

Promise:以下に解決されるプロミスオブジェクト:

  • true: AVRCP絶対音量が有効になっています
  • false: AVRCP絶対音量が無効になっています。次の値で拒否:
  • (-2): アドレスが無効です
  • (-8): デバイスはAVRCPをサポートしていません
  • (-5): サーバー接続が失われました

isServerReadyAsync()

static isServerReadyAsync(): Promise<boolean>

オーディオサーバーがコマンドを処理できる状態にあるか確認します。

戻り値

Promise<boolean>

Promise:以下に解決されるプロミスオブジェクト:

  • true: サーバーの準備が完了しています
  • false: サーバーの準備ができていません

次の値で拒否:

  • (-5): サーバー接続が失われました

// サーバーがコマンドを受信できる状態にある場合はtrueを、そうでない場合はfalseを返します。
const server_ready = AudioManager.isServerReadyAsync()
.then((ready) => {return ready;}).catch((error) => console.log(error));


isUsageEnabledAsync()

static isUsageEnabledAsync(usage: Int32): Promise<boolean>

特定の使用タイプでオーディオ再生が有効になっているか確認します。

パラメーター

usage

Int32

照会先の使用タイプ

戻り値

Promise<boolean>

Promise:以下に解決されるプロミスオブジェクト:

  • true: 使用タイプが有効になっています
  • false: 使用タイプが無効になっています

次の値で拒否:

  • (-2): 使用タイプが無効です
  • (-5): サーバー接続が失われました

playSystemSoundAsync()

static playSystemSoundAsync(soundType: AudioSystemSound): Promise<AudioStatus>

システムサウンドを再生します。

パラメーター

soundType

AudioSystemSound

再生するシステムサウンドのタイプ。値:

  • BOOT_UP (0)
  • BACK_BUTTON (1)
  • HOME_BUTTON (4)
  • MENU_BUTTON (5)
  • UP/DOWN/LEFT/RIGHT (6/9)
  • MIC_ON/OFF (10/11)
  • BLUETOOTH related (12/14)
  • ERROR (15)
  • VOLUME_UP/DOWN (16/17)
  • および、列挙型で定義されているその他のデバイスタイプ

戻り値

Promise<AudioStatus>

Promise:以下に解決されるプロミスオブジェクト:

  • (0): 成功しました
  • (-2): サウンドタイプが無効です
  • (-1): サウンドファイルが見つかりません
  • (-5): サーバー接続が失われました

registerAudioEventObserverAsync()

static registerAudioEventObserverAsync(callback: (value: any) => void): Promise<AudioStatus>

オーディオシステムイベントのコールバック関数を登録します。システム全体で一度に登録できるコールバックは1つだけです。

パラメーター

callback

(value: any) => void

これは、コールバック関数であり、以下のイベントを受け取ります。

  • (0): オーディオデバイスの接続が変更されました。パラメーター:{device: AudioDevice, role: AudioRole, connect: boolean}
  • (1): 音量が変更されました。パラメーター:{type: AudioVolumeType, volume: number}
  • (2): グローバルミュートが変更されました。パラメーター:{mute: boolean}
  • (3): オーディオサーバーを利用できません
  • (4): オーディオサーバーを利用できます
  • (5): 使用状態が変更されました。パラメーター:{usage: AudioUsageType, active: boolean}
  • (6): マイクのミュートが変更されました。パラメーター:{muteState: boolean}
  • (7): 音量タイプのミュートが変更されました。パラメーター:{volumeType: AudioVolumeType, muteState: boolean}
  • (8): テレフォニーのミュートが変更されました。パラメーター:deviceType: AudioDevice, deviceAddress: string, deviceName: string, muteState: boolean

戻り値

Promise<AudioStatus>

Promise:以下に解決されるプロミスオブジェクト:

  • (0): 成功しました
  • (-2): コールバックが無効です
  • (-4): コールバックは既に登録されています
  • (-5): サーバー接続が失われました

/*
関数を作成し、オーディオイベントオブザーバーに登録して、オーディオの変更が発生するたびに
この関数が実行されるようにします。Promiseの解決後に返されたAudioStatus型を
statusに格納します。
*\/

// システム全体のオーディオイベントに登録します。
await AudioManager.registerAudioEventObserverAsync((event) => {
    // イベントオブジェクトには、イベントタイプに基づいてさまざまなプロパティが格納されます。
    switch (event.audioEvent) {
        case AudioEvent.DEVICE_STATE_UPDATE:
            // オーディオデバイスの接続状態が変更されたときにトリガーされます。
            // パラメーター:
            // - device: AudioDevice列挙値
            // - role: AudioRole列挙値
            // - connect:デバイスが接続されたか(true)、切断されたか(false)を示すブール値
            console.log(`デバイス${event.device}(ロール${event.role})が${event.connect ? '接続' : '切断'}されました`);
            break;

        case AudioEvent.VOLUME_UPDATE:
            // いずれかのオーディオタイプの音量が変更されたときにトリガーされます。
            // パラメーター:
            // - type: AudioVolumeType列挙値
            // - volume:数値(0~100)
            console.log('音量が変更されました:', event.audioEvent, '変更後:', event.volume);
            break;

        case AudioEvent.GLOBAL_VOLUME_MUTE_UPDATE:
            // グローバルのミュート状態が変更されたときにトリガーされます。
            // パラメーター:
            // - mute:システムがミュートになっているかどうかを示すブール値
            console.log('グローバルのミュート状態が更新されました:', event.mute);
            break;

        case AudioEvent.SERVER_DOWN:
            // オーディオサーバーが利用不可能になったときにトリガーされます。
            console.log('オーディオサーバーがダウンしました');
            break;

        case AudioEvent.SERVER_UP:
            // オーディオサーバーが利用可能になったときにトリガーされます。
            console.log('オーディオサーバーが稼働しました');
            break;

        case AudioEvent.AUDIO_USAGE_STATE_CHANGE:
            // オーディオの使用状態が変更されたときにトリガーされます。
            // パラメーター:
            // - usage: AudioUsageType列挙値
            // - active:使用タイプがアクティブになったかどうかを示すブール値
            console.log('使用タイプ:', event.usage);
            console.log('アクティブ状態:', event.active);
            break;

        case AudioEvent.MIC_MUTE_STATE_UPDATE:
            // マイクのミュート状態が変更されたときにトリガーされます。
            // パラメーター:
            // - state:マイクがミュートになっているかどうかを示すブール値
            console.log('マイクのミュート状態が変更されました:', event.muteState);
            break;

        case AudioEvent.VOLUME_MUTE_UPDATE:
            // 特定の音量タイプの音量ミュート状態が変更されたときにトリガーされます。
            // パラメーター:
            // - volumeType: AudioVolumeType列挙値
            // - mute:タイプがミュートになっているかどうかを示すブール値
            console.log('音量タイプ:', event.volumeType);
            console.log('ミュート状態:', event.muteState);
            break;

        case AudioEvent.TELEPHONY_MUTE_UPDATE:
            // 電話のミュート状態が変更されたときにトリガーされます。
            // パラメーター:
            // - deviceType: AudioDevice列挙値
            // - address:デバイスアドレスを表す文字列
            // - deviceName:デバイス名を表す文字列
            // - mute:電話がミュートになっているかどうかを示すブール値
            console.log('電話のミュート状態が更新されました:');
            console.log('デバイスタイプ:', event.deviceType);
            console.log('デバイスアドレス:', event.deviceAddress);
            console.log('デバイス名:', event.deviceName);
            console.log('デバイスのミュート状態:', event.muteState);
            break;
    }
});

// クリーンアップします。
await AudioManager.unregisterAudioEventObserverAsync();


setActiveVolumeAsync()

static setActiveVolumeAsync(volume: Int32): Promise<AudioStatus>

現在アクティブなストリームの音量を設定します。アクティブなストリームは、最新のオーディオフォーカスホルダーによって決まります。

必要な権限:com.amazon.audio.privilege.settings.control

このAPIはKeplerシステムアプリケーションに限定されており、他のアプリでは使用できません。適切な権限なしでこのAPIを呼び出すと、何も実行されないか、セキュリティ例外が発生する可能性があります。

パラメーター

volume

Int32

音量レベル(0~100)。この範囲外の値は制限されます。

戻り値

Promise<AudioStatus>

Promise:以下に解決されるプロミスオブジェクト:

  • (0): 成功しました
  • (-2): 音量の値が無効です
  • (-9): 権限がありません
  • (-8): アクティブなストリームはありません
  • (-5): サーバー接続が失われました

export const testSetActiveVolumeAsync = async (volume: number) => {
    let requestStatus = await AudioManager.setActiveVolumeAsync(parseInt(volume));

    if (requestStatus == 0) {
        console.log("setActiveVolumeAsyncが成功");
    } else {
        console.log("setActiveVolumeAsync(): ERROR: " + requestStatus);
    }
};


setGlobalVolumeMuteAsync()

static setGlobalVolumeMuteAsync(mute: boolean, flags?: AudioVolumeFlags): Promise<AudioStatus>

グローバル音量ミュート状態を設定します。有効にすると、個々の音量設定に関係なく、すべてのオーディオ出力をミュートします。

必要な権限:com.amazon.audio.privilege.settings.control

このAPIはKeplerシステムアプリケーションに限定されており、他のアプリでは使用できません。適切な権限なしでこのAPIを呼び出すと、何も実行されないか、セキュリティ例外が発生する可能性があります。

パラメーター

mute

boolean

グローバルミュートを有効にする場合はtrue、無効にする場合はfalse

flags?

AudioVolumeFlags

ミュート動作に影響するフラグ(任意):

  • (0): 特別な動作なし
  • (1): ミュート状態のUIを表示します
  • (2): 状態変更サウンドを再生します

戻り値

Promise<AudioStatus>

Promise:以下に解決されるプロミスオブジェクト:

  • (0): 成功しました
  • (-9): 権限がありません
  • (-5): サーバー接続が失われました
  • (-8): 操作が失敗しました

/*
グローバルミュートをtrueに設定し、Promiseの解決後に返されたAudioStatus型を
statusに格納します。
*\/

const status = AudioManager.setGlobalVolumeMuteAsync(true).then((status) => {return status;}).catch((error) => console.log(error));


setMaxVolumeAsync()

static setMaxVolumeAsync(maxVolume: Int32): Promise<AudioStatus>

すべてのオーディオタイプの最大音量制限を設定します。すべての音量タイプに影響するグローバル音量上限として機能します。

必要な権限:com.amazon.audio.privilege.settings.control

このAPIはKeplerシステムアプリケーションに限定されており、他のアプリでは使用できません。適切な権限なしでこのAPIを呼び出すと、何も実行されないか、セキュリティ例外が発生する可能性があります。

パラメーター

maxVolume

Int32

最大音量レベル(0~100)。この範囲外の値は制限されます。この制限を超える現在の音量は、制限に合わせて小さくなります。

戻り値

Promise<AudioStatus>

Promise:以下に解決されるプロミスオブジェクト:

  • (0): 成功しました
  • (-2): 音量の値が無効です
  • (-9): 権限がありません
  • (-5): サーバー接続が失われました

const testSetMaxVolume = async () => {
    let volumeChangeStatus = await AudioManager.setMaxVolumeAsync(50);
    if (volumeChangeStatus == 0) {
        console.log("setMaxVolumeAsync()が成功");
    } else {
        console.log("setMaxVolumeAsync(): ERROR: " + volumeChangeStatus);
    }
};


setMicMuteAsync()

static setMicMuteAsync(mute: boolean): Promise<AudioStatus>

マイクのミュート状態を設定します。マイクからのすべてのオーディオ録音に影響します。

パラメーター

mute

boolean

マイクをミュートする場合はtrue、ミュートを解除する場合はfalse

戻り値

Promise<AudioStatus>

Promise:以下に解決されるプロミスオブジェクト:

  • (0): 成功しました
  • (-5): サーバー接続が失われました
  • (-8): 操作が失敗しました

/*
マイク入力をミュートし、Promiseの解決後に返されたAudioStatus型を
statusに格納します。
*\/

const status = AudioManager.setMicMuteAsync(true).then((status) => {return status;}).catch((error) => console.log(error));


setMuteAsync()

static setMuteAsync(volType: AudioVolumeType, mute: boolean): Promise<AudioStatus>

特定の音量タイプのシステム全体にわたるミュート状態を設定します。ある音量タイプをミュートすると、そのタイプのすべてのオーディオストリームが無音になります。

必要な権限:com.amazon.audio.privilege.settings.control

このAPIはKeplerシステムアプリケーションに限定されており、他のアプリでは使用できません。適切な権限なしでこのAPIを呼び出すと、何も実行されないか、セキュリティ例外が発生する可能性があります。

パラメーター

volType

AudioVolumeType

ミュート/ミュート解除する音量タイプ。タイプを知りたい場合に参照してください。

mute

boolean

ミュートする場合はtrue、ミュート解除する場合はfalse

戻り値

Promise<AudioStatus>

Promise:以下に解決されるプロミスオブジェクト:

  • (0): 成功しました
  • (-2): 音量タイプが無効です
  • (-9): 権限がありません
  • (-5): サーバー接続が失われました

const testSetMuteAsync = async () => {
    let updateStatus = await AudioManager.setMuteAsync(AudioVolumeType.VOLUME_TYPE_MEDIA, true);

    if (updateStatus == 0) {
        console.log("setMuteAsync()が成功");
    } else {
        console.log("setMuteAsync(): ERROR: " + updateStatus);
    }
};


setSinkFormatsSelectionPolicyAsync()

static setSinkFormatsSelectionPolicyAsync(policy: SinkFormatsSelectionPolicy): Promise<AudioStatus>

HDMI/デジタル出力でオーディオ出力形式を選択するためのポリシーを設定します。サポートするデバイスへの送信時のオーディオのエンコード方法に影響します。

パラメーター

policy

SinkFormatsSelectionPolicy

形式選択ポリシー:

  • (0): シンク機能に基づいて選択します
  • (1): PCM出力を強制します
  • (2): Dolby Digital Plusパススルーを許可します
  • (3): Dolby Digitalパススルーを許可します
  • (4): Dolby Digital Plusエンコーディングを強制します
  • (5): Dolby Digitalエンコーディングを強制します

戻り値

Promise<AudioStatus>

Promise:以下に解決されるプロミスオブジェクト:

  • (0): 成功しました
  • (-2): ポリシーが無効です
  • (-8): ポリシーがサポートされていません
  • (-5): サーバー接続が失われました

const testSetSinkFormatsSelectionPolicyAsync = async () => {
    let sinkStatus = await AudioManager.setSinkFormatsSelectionPolicyAsync(SinkFormatsSelectionPolicy.AUTO);
    if (sinkStatus == 0) {
        console.log("setSinkFormatsSelectionPolicyAsync(): 結果: SUCCESS")
    } else {
        console.log("setSinkFormatsSelectionPolicyAsync(): 結果: ERROR: ", sinkStatus);
    }
};


setSystemSoundThemeAsync()

static setSystemSoundThemeAsync(soundTheme: String): Promise<AudioStatus>

アクティブなシステムサウンドテーマを設定します。テーマには、返されているテーマのいずれかを指定する必要があります。

パラメーター

soundTheme

String

テーマ識別文字列

戻り値

Promise<AudioStatus>

Promise:以下に解決されるプロミスオブジェクト:

  • (0): 成功しました
  • (-2): テーマが無効です
  • (-1): テーマファイルが見つかりません
  • (-5): サーバー接続が失われました

setTelephonyMuteAsync()

static setTelephonyMuteAsync(device: AudioDevice, address: String, mute: boolean): Promise<AudioStatus>

特定のデバイスのテレフォニーオーディオのミュート状態を設定します。

パラメーター

device

AudioDevice

ミュート状態の設定対象となるデバイス

address

String

デバイスの一意の識別子。

mute

boolean

ミュートする場合はtrue、ミュート解除する場合はfalse

戻り値

Promise<AudioStatus>

Promise:以下に解決されるプロミスオブジェクト:

  • (0): 成功しました
  • (-2): パラメーターが無効です
  • (-8): デバイスがテレフォニーモードになっていません
  • (-5): サーバー接続が失われました

let muteStatus = await AudioManager.setTelephonyMuteAsync(AudioDevice.DEVICE_TELEPHONY, "0X859978AF", true);
if (muteStatus == 0) {
    console.log("setTelephonyMuteAsync(): 結果: SUCCESS")
    status = status + "setTelephonyMuteAsync():\nResult: SUCCESS\n";
} else {
    console.log("setTelephonyMuteAsync(): 結果: ERROR: ", muteStatus);
    status = status + "setTelephonyMuteAsync():\nResult: ERROR: " + muteStatus.toString() + "\n";
}


setVolumeAsync()

static setVolumeAsync(type: AudioVolumeType, volume: Int32, flags?: AudioVolumeFlags): Promise<AudioStatus>

特定のオーディオタイプのシステム全体の音量を設定します。

必要な権限:com.amazon.audio.privilege.settings.control

このAPIはKeplerシステムアプリケーションに限定されており、他のアプリでは使用できません。適切な権限なしでこのAPIを呼び出すと、何も実行されないか、セキュリティ例外が発生する可能性があります。

パラメーター

type

AudioVolumeType

調整するオーディオタイプ:

  • (-1)
  • (0)
  • (1)
  • (2)
  • (3)
  • (4)
  • (5)
  • (6)
  • (7)
  • (8)
volume

Int32

音量レベル(0~100)。この範囲外の値は制限されます。

flags?

AudioVolumeFlags

音量変更動作に影響するフラグ(任意):

  • (0): 特別な動作なし
  • (1): 音量スライダーのUIを表示します
  • (2): 音量変更サウンドを再生します

戻り値

Promise<AudioStatus>

Promise:以下に解決されるプロミスオブジェクト:

  • (0): 成功しました
  • (-2): タイプまたは音量が無効です
  • (-9): 権限がありません
  • (-5): サーバー接続が失われました

/*
オーディオタイプがアラームの音量を50%に設定し、Promiseの解決後に返された
AudioStatus型をstatusに格納します。失敗した場合はundefinedを格納し、
エラーを出力します。
*\/

const status = AudioManager.setVolumeAsync(AudioVolumeType.VOLUME_TYPE_ALARM, 50)
.then((status) => {return status;}).catch((error) => console.log(error));


startTelephonyAsync()

static startTelephonyAsync(device: AudioDevice, address: String, mode: AudioTelephonyMode): Promise<AudioStatus>

指定されたデバイスからテレフォニー通話を開始します。

クライアントでデバイス「DEVICE_DEFAULT」を指定すると、オーディオサーバー側でテレフォニーを判断し、通話を開始できるようになります。一部の特定のプラットフォームでは、HFPデバイス、音声通話モデムなど、複数のテレフォニーソースをサポートできます。この場合、正確にはクライアントがこのAPIを使用してデバイスのリストを照会し、特定のデバイスと、それに対応するアドレスを選択します。

パラメーター

device

AudioDevice

テレフォニーオーディオに使用するデバイス。一般的な値は次のとおりです。

  • (1 30)
  • (1 2)
  • (1 18)
  • (1 1)
address

String

デバイスの一意の識別子(Bluetoothアドレスなど)

mode

AudioTelephonyMode

テレフォニーオーディオモード:

  • MODE_NARROW_BAND (0): 標準的な音質
  • MODE_WIDE_BAND (1): HDの音質

戻り値

Promise<AudioStatus>

Promise:以下に解決されるプロミスオブジェクト:

  • (0): 成功しました
  • (-2): パラメーターが無効です
  • (-8): デバイスを利用できません
  • (-5): サーバー接続が失われました

stopTelephonyAsync()

static stopTelephonyAsync(device: AudioDevice, address: String): Promise<AudioStatus>

指定されたデバイスのテレフォニーオーディオを停止します。通話が終了したとき、またはテレフォニーオーディオが不要になったときに呼び出す必要があります。

パラメーター

device

AudioDevice

テレフォニーオーディオを停止する対象のデバイス

address

String

デバイスの一意の識別子(Bluetoothアドレスなど)

戻り値

Promise<AudioStatus>

Promise:以下に解決されるプロミスオブジェクト:

  • (0): 成功しました
  • (-2): パラメーターが無効です
  • (-8): テレフォニーがアクティブではありません
  • (-5): サーバー接続が失われました

unregisterAudioEventObserverAsync()

static unregisterAudioEventObserverAsync(): Promise<AudioStatus>

以前に登録されたオーディオイベントコールバックの登録を解除します。

戻り値

Promise<AudioStatus>

Promise:以下に解決されるプロミスオブジェクト:

  • (0): 成功しました
  • (-8): 登録されたコールバックはありません
  • (-5): サーバー接続が失われました

/*
コールバック関数の登録を解除し、Promiseの解決後に返されたAudioStatus型を
statusに格納します。
*\/

const status = AudioManager.unregisterAudioEventObserverAsync().then((status) => {return status;}).catch((error) => console.log(error));


updateActiveVolumeAsync()

static updateActiveVolumeAsync(update: Int32, fallbackType: AudioVolumeType): Promise<AudioStatus>

アクティブなストリームの音量を増減して更新します。アクティブなストリームがない場合は、指定されたフォールバックタイプの、システム全体にわたる音量を調整します。

必要な権限:com.amazon.audio.privilege.settings.control

このAPIはKeplerシステムアプリケーションに限定されており、他のアプリでは使用できません。適切な権限なしでこのAPIを呼び出すと、何も実行されないか、セキュリティ例外が発生する可能性があります。

パラメーター

update

Int32

更新のタイプ:

  • (0): 音量を1段階上げます
  • (1): 音量を1段階下げます
fallbackType

AudioVolumeType

アクティブなストリームがない場合に調整する音量タイプ

戻り値

Promise<AudioStatus>

Promise:以下に解決されるプロミスオブジェクト:

  • (0): 成功しました
  • (-2): パラメーターが無効です
  • (-9): 権限がありません
  • (-5): サーバー接続が失われました

const testUpdateActiveVolumeAsync = async () => {
    let updateStatus = await AudioManager.updateActiveVolumeAsync(0, AudioVolumeType.VOLUME_TYPE_MEDIA);

    if (updateStatus == 0) {
        console.log("updateActiveVolumeAsync()が成功");
    } else {
        console.log("updateActiveVolumeAsync(): ERROR: " + updateStatus);
    }
};


updateVolumeAsync()

static updateVolumeAsync(type: AudioVolumeType, volume: Int32): Promise<AudioStatus>

特定のオーディオタイプの、システム全体にわたる音量を増減して更新します。

必要な権限:com.amazon.audio.privilege.settings.control

このAPIはKeplerシステムアプリケーションに限定されており、他のアプリでは使用できません。適切な権限なしでこのAPIを呼び出すと、何も実行されないか、セキュリティ例外が発生する可能性があります。

パラメーター

type

AudioVolumeType

調整するオーディオタイプ。タイプを知りたい場合に参照してください。

volume

Int32

更新のタイプ:

  • (0): 音量を1段階上げます
  • (1): 音量を1段階下げます

戻り値

Promise<AudioStatus>

Promise:以下に解決されるプロミスオブジェクト:

  • (0): 成功しました
  • (-2): パラメーターが無効です
  • (-9): 権限がありません
  • (-5): サーバー接続が失われました

const testUpdateVolumeAsync = async () => {
    let updateStatus = await AudioManager.updateVolumeAsync(AudioVolumeType.VOLUME_TYPE_MEDIA, 0);

    if (updateStatus == 0) {
        console.log("updateVolumeAsync()が成功");
    } else {
        console.log("updateVolumeAsync(): ERROR: " + updateStatus);
    }
};


Last updated: 2026年7月22日