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
戻り値
メソッド
allocateCustomAudioEffectSessionAsync()
staticallocateCustomAudioEffectSessionAsync():Promise<Int32>
カスタムオーディオエフェクトの一意のセッションIDを作成します。このIDを使用して、オーディオエフェクトを特定の再生ストリームまたは録音ストリームに関連付けることができます。
戻り値
Promise<Int32>
Promise:以下に解決されるプロミスオブジェクト:
- 正の数: 新しい一意のセッションID
次の値で拒否:
- (-1): セッションを割り当てることができませんでした
- (-5): サーバー接続が失われました
areSystemSoundsEnabledAsync()
staticareSystemSoundsEnabledAsync():Promise<boolean>
システムサウンドが現在有効になっているか確認します。
戻り値
Promise<boolean>
Promise:以下に解決されるプロミスオブジェクト:
true: システムサウンドが有効になっていますfalse: システムサウンドが無効になっています
次の値で拒否:
- (-5): サーバー接続が失われました
disableAvrcpAbsoluteVolumeAsync()
staticdisableAvrcpAbsoluteVolumeAsync(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()
staticdisableSystemSoundsAsync():Promise<AudioStatus>
すべてのシステムサウンドを無効にします。システムサウンドは、再度有効にするまで再生されません。
戻り値
Promise<AudioStatus>
Promise:以下に解決されるプロミスオブジェクト:
- (0): 成功しました
- (-5): サーバー接続が失われました
- (-8): 操作が失敗しました
disableUsageAsync()
staticdisableUsageAsync(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()
staticenableAvrcpAbsoluteVolumeAsync(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()
staticenableSystemSoundsAsync():Promise<AudioStatus>
無効にしたシステムサウンドを有効にします。システムサウンドはデフォルトで有効になっています。
戻り値
Promise<AudioStatus>
Promise:以下に解決されるプロミスオブジェクト:
- (0): 成功しました
- (-5): サーバー接続が失われました
- (-8): 操作が失敗しました
enableUsageAsync()
staticenableUsageAsync(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()
staticgetAudioDeviceListAsync(device: AudioDevice, role: AudioRole):Promise<AudioDeviceInfo[]>
指定されたロールに一致する、使用可能なオーディオデバイスのリストを取得します。
パラメーター
device
フィルタリングの基準となるデバイスタイプ。任意のデバイスの場合はDEVICE_ALL。値:
- (0x0)
- (1 30)
- (1 0)
- (1 1)
- (1 2)
- (1 3)
- および、列挙型で定義されているその他のデバイスタイプ
role
フィルタリングの基準となるロール。値:
- (0): 入力デバイス
- (1): 出力デバイス
- (2): 入力デバイスと出力デバイスの両方
戻り値
Promise<AudioDeviceInfo[]>
PromiseAudioDeviceInfo[]:AudioDeviceInfoオブジェクトの配列に解決されるプロミスオブジェクト。
各オブジェクトには以下が含まれます。
role: AudioRoletype: AudioDevicename: stringformats: AudioSampleFormat[]sampleRates: AudioSampleRate[]channelMasks: AudioChannelMask[]
次の値で拒否:
- (-2): パラメーターが無効です
- (-5): サーバー接続が失われました
getGlobalVolumeMuteAsync()
staticgetGlobalVolumeMuteAsync():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()
staticgetMajorVersion():number
メジャーバージョン番号を取得します。バージョンの確認に使用できます。
戻り値
number
number:メジャーバージョン番号を取得します。
getMaxVolumeAsync()
staticgetMaxVolumeAsync():Promise<Int32>
現在の最大音量制限を取得します。
戻り値
Promise<Int32>
Promise:以下に解決されるプロミスオブジェクト:
- 0~100: 現在の最大音量制限
次の値で拒否:
- (-5): サーバー接続が失われました
例
const testGetMaxVolume = async () => {
let maxVolume = await AudioManager.getMaxVolumeAsync();
console.log("getMaxVolumeAsync(): SUCCESS, Max volume: ", maxVolume);
};
getMicMuteAsync()
staticgetMicMuteAsync():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()
staticgetMinorVersion():number
マイナーバージョン番号を取得します。バージョンの確認に使用できます。
戻り値
number
number:マイナーバージョン番号を取得します。
getMuteAsync()
staticgetMuteAsync(volType: AudioVolumeType):Promise<boolean>
特定の音量タイプのシステム全体にわたるミュート状態を取得します。
必要な権限:com.amazon.audio.privilege.settings.control
このAPIはKeplerシステムアプリケーションに限定されており、他のアプリでは使用できません。適切な権限なしでこのAPIを呼び出すと、何も実行されないか、セキュリティ例外が発生する可能性があります。
パラメーター
volType
照会先の音量タイプ。タイプを知りたい場合に参照してください。
戻り値
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()
staticgetPatchVersion():number
パッチバージョン番号を取得します。バージョンの確認に使用できます。
戻り値
number
number:パッチバージョン番号
getSinkFormatsSelectionPolicyAsync()
staticgetSinkFormatsSelectionPolicyAsync():Promise<Int32>
オーディオ出力形式を選択するために現在のポリシーを取得します。
戻り値
Promise<Int32>
Promise:以下に解決されるプロミスオブジェクト:
- SinkFormatsSelectionPolicyの値。参照してください。
次の値で拒否:
- (-5): サーバー接続が失われました
例
const testGetSinkFormatsSelectionPolicyAsync = async () => {
let currentSinkPolicy = await AudioManager.getSinkFormatsSelectionPolicyAsync();
console.log("getSinkFormatsSelectionPolicyAsync() 現在のフォーマット:", currentSinkPolicy);
};
getSupportedPlaybackConfigurationsAsync()
staticgetSupportedPlaybackConfigurationsAsync(attributes: AudioAttributes, deviceType:Int32):Promise<AudioConfigAttr[]>
指定された属性とデバイスで再生するためのサポート対象オーディオ構成を取得します。これを使用して、形式、サンプルレート、チャネルの有効な組み合わせを決定します。
パラメーター
attributes
コンテンツのタイプと使用を定義するオーディオ属性
deviceType
Int32
照会先のデバイスタイプ。現在の出力にはDEVICE_DEFAULTを使用します。
戻り値
Promise<AudioConfigAttr[]>
PromiseAudioConfigAttr[]:サポート対象の構成の配列に解決されるプロミスオブジェクト。
各構成には以下が含まれます。
sampleRate: AudioSampleRatechannelMask: AudioChannelMaskformat: AudioSampleFormatlayout: 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()
staticgetSupportedRecordConfigurationsAsync(excludeDisconnectedDevice:boolean, sourceType:Int32):Promise<AudioConfigAttr[]>
録音用のサポート対象オーディオ構成を取得します。これを使用して、録音の形式、サンプルレート、チャネルの有効な組み合わせを決定します。
パラメーター
excludeDisconnectedDevice
boolean
trueの場合、接続されているデバイスの構成のみを返します。falseの場合、構成ファイルからサポート対象のすべての構成を返します。
sourceType
Int32
構成の照会先となるオーディオソースタイプ
戻り値
Promise<AudioConfigAttr[]>
PromiseAudioConfigAttr[]:サポート対象の構成の配列に解決されるプロミスオブジェクト。
各構成には以下が含まれます。
sampleRate: AudioSampleRatechannelMask: AudioChannelMaskformat: AudioSampleFormatlayout: SampleLayout
次の値で拒否:
- (-2): パラメーターが無効です
- (-0): 使用可能な構成はありません
- (-5): サーバー接続が失われました
getSupportedSinkFormatsSelectionPoliciesAsync()
staticgetSupportedSinkFormatsSelectionPoliciesAsync():Promise<SinkPolicies[]>
サポート対象のシンクフォーマット選択ポリシーのリストを取得します。デバイスによってはサポートされていないポリシーもあります。このリストを使用して、使用可能なオプションを確認してください。
戻り値
Promise<SinkPolicies[]>
PromiseSinkPolicies[]:サポート対象のポリシーの配列に解決されるプロミスオブジェクト。
配列の要素には以下が含まれます。
- policy: number (
SinkFormatsSelectionPolicyvalue)
次の値で拒否:
- (-5): サーバー接続が失われました
例
const testGetSupportedSinkFormatsSelectionPoliciesAsync = async () => {
let supportedSinkFormats = await AudioManager.getSupportedSinkFormatsSelectionPoliciesAsync();
if (supportedSinkFormats.length > 0) {
supportedSinkFormats.forEach(data => {
console.log("サポート対象ポリシー(整数表現):", parseInt(data), "\n");
});
}
};
getSystemSoundThemeAsync()
staticgetSystemSoundThemeAsync():Promise<String>
現在アクティブなシステムサウンドテーマを取得します。
戻り値
Promise<String>
Promise:以下に解決されるプロミスオブジェクト:
- String: 現在のテーマ識別子
次の値で拒否:
- (-1): テーマが設定されていません
- (-5): サーバー接続が失われました
getSystemSoundThemeListAsync()
staticgetSystemSoundThemeListAsync():Promise<AudioTheme[]>
サポート対象のすべてのシステムサウンドテーマのリストを取得します。システムサウンドテーマは、システムイベント用のさまざまなサウンドセットを定義します。
戻り値
Promise<AudioTheme[]>
PromiseAudioTheme[]:AudioThemeオブジェクトの配列に解決されるプロミスオブジェクト:
各オブジェクトには以下が含まれます。
theme:文字列(テーマの識別子)
次の値で拒否:
- (-1): テーマファイルが見つかりません
- (-5): サーバー接続が失われました
getTelephonyMuteAsync()
staticgetTelephonyMuteAsync(device: AudioDevice, address:String):Promise<boolean>
特定のデバイスのテレフォニーオーディオのミュート状態を取得します。
パラメーター
device
照会先のデバイス
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()
staticgetVolumeAsync(type: AudioVolumeType):Promise<Int32>
特定のオーディオタイプについて、現在のシステム全体の音量レベルを取得します。
必要な権限:com.amazon.audio.privilege.settings.control
このAPIはKeplerシステムアプリケーションに限定されており、他のアプリでは使用できません。適切な権限なしでこのAPIを呼び出すと、何も実行されないか、セキュリティ例外が発生する可能性があります。
パラメーター
type
照会先のオーディオタイプ。タイプを知りたい場合に参照してください。
戻り値
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()
staticisAvrcpAbsoluteVolumeEnabledAsync(btAddress:String):Promise<boolean>
BluetoothデバイスのAVRCP絶対音量制御が有効になっているか確認します。
パラメーター
btAddress
String
Bluetoothデバイスのアドレス
戻り値
Promise<boolean>
Promise:以下に解決されるプロミスオブジェクト:
true: AVRCP絶対音量が有効になっていますfalse: AVRCP絶対音量が無効になっています。次の値で拒否:- (-2): アドレスが無効です
- (-8): デバイスはAVRCPをサポートしていません
- (-5): サーバー接続が失われました
isServerReadyAsync()
staticisServerReadyAsync():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()
staticisUsageEnabledAsync(usage:Int32):Promise<boolean>
特定の使用タイプでオーディオ再生が有効になっているか確認します。
パラメーター
usage
Int32
照会先の使用タイプ
戻り値
Promise<boolean>
Promise:以下に解決されるプロミスオブジェクト:
true: 使用タイプが有効になっていますfalse: 使用タイプが無効になっています
次の値で拒否:
- (-2): 使用タイプが無効です
- (-5): サーバー接続が失われました
playSystemSoundAsync()
staticplaySystemSoundAsync(soundType: AudioSystemSound):Promise<AudioStatus>
システムサウンドを再生します。
パラメーター
soundType
再生するシステムサウンドのタイプ。値:
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()
staticregisterAudioEventObserverAsync(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()
staticsetActiveVolumeAsync(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()
staticsetGlobalVolumeMuteAsync(mute:boolean, flags?: AudioVolumeFlags):Promise<AudioStatus>
グローバル音量ミュート状態を設定します。有効にすると、個々の音量設定に関係なく、すべてのオーディオ出力をミュートします。
必要な権限:com.amazon.audio.privilege.settings.control
このAPIはKeplerシステムアプリケーションに限定されており、他のアプリでは使用できません。適切な権限なしでこのAPIを呼び出すと、何も実行されないか、セキュリティ例外が発生する可能性があります。
パラメーター
mute
boolean
グローバルミュートを有効にする場合はtrue、無効にする場合はfalse
flags?
ミュート動作に影響するフラグ(任意):
- (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()
staticsetMaxVolumeAsync(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()
staticsetMicMuteAsync(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()
staticsetMuteAsync(volType: AudioVolumeType, mute:boolean):Promise<AudioStatus>
特定の音量タイプのシステム全体にわたるミュート状態を設定します。ある音量タイプをミュートすると、そのタイプのすべてのオーディオストリームが無音になります。
必要な権限:com.amazon.audio.privilege.settings.control
このAPIはKeplerシステムアプリケーションに限定されており、他のアプリでは使用できません。適切な権限なしでこのAPIを呼び出すと、何も実行されないか、セキュリティ例外が発生する可能性があります。
パラメーター
volType
ミュート/ミュート解除する音量タイプ。タイプを知りたい場合に参照してください。
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()
staticsetSinkFormatsSelectionPolicyAsync(policy: SinkFormatsSelectionPolicy):Promise<AudioStatus>
HDMI/デジタル出力でオーディオ出力形式を選択するためのポリシーを設定します。サポートするデバイスへの送信時のオーディオのエンコード方法に影響します。
パラメーター
policy
形式選択ポリシー:
- (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()
staticsetSystemSoundThemeAsync(soundTheme:String):Promise<AudioStatus>
アクティブなシステムサウンドテーマを設定します。テーマには、返されているテーマのいずれかを指定する必要があります。
パラメーター
soundTheme
String
テーマ識別文字列
戻り値
Promise<AudioStatus>
Promise:以下に解決されるプロミスオブジェクト:
- (0): 成功しました
- (-2): テーマが無効です
- (-1): テーマファイルが見つかりません
- (-5): サーバー接続が失われました
setTelephonyMuteAsync()
staticsetTelephonyMuteAsync(device: AudioDevice, address:String, mute:boolean):Promise<AudioStatus>
特定のデバイスのテレフォニーオーディオのミュート状態を設定します。
パラメーター
device
ミュート状態の設定対象となるデバイス
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()
staticsetVolumeAsync(type: AudioVolumeType, volume:Int32, flags?: AudioVolumeFlags):Promise<AudioStatus>
特定のオーディオタイプのシステム全体の音量を設定します。
必要な権限:com.amazon.audio.privilege.settings.control
このAPIはKeplerシステムアプリケーションに限定されており、他のアプリでは使用できません。適切な権限なしでこのAPIを呼び出すと、何も実行されないか、セキュリティ例外が発生する可能性があります。
パラメーター
type
調整するオーディオタイプ:
- (-1)
- (0)
- (1)
- (2)
- (3)
- (4)
- (5)
- (6)
- (7)
- (8)
volume
Int32
音量レベル(0~100)。この範囲外の値は制限されます。
flags?
音量変更動作に影響するフラグ(任意):
- (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()
staticstartTelephonyAsync(device: AudioDevice, address:String, mode: AudioTelephonyMode):Promise<AudioStatus>
指定されたデバイスからテレフォニー通話を開始します。
クライアントでデバイス「DEVICE_DEFAULT」を指定すると、オーディオサーバー側でテレフォニーを判断し、通話を開始できるようになります。一部の特定のプラットフォームでは、HFPデバイス、音声通話モデムなど、複数のテレフォニーソースをサポートできます。この場合、正確にはクライアントがこのAPIを使用してデバイスのリストを照会し、特定のデバイスと、それに対応するアドレスを選択します。
パラメーター
device
テレフォニーオーディオに使用するデバイス。一般的な値は次のとおりです。
- (1 30)
- (1 2)
- (1 18)
- (1 1)
address
String
デバイスの一意の識別子(Bluetoothアドレスなど)
mode
テレフォニーオーディオモード:
MODE_NARROW_BAND (0): 標準的な音質MODE_WIDE_BAND (1): HDの音質
戻り値
Promise<AudioStatus>
Promise:以下に解決されるプロミスオブジェクト:
- (0): 成功しました
- (-2): パラメーターが無効です
- (-8): デバイスを利用できません
- (-5): サーバー接続が失われました
stopTelephonyAsync()
staticstopTelephonyAsync(device: AudioDevice, address:String):Promise<AudioStatus>
指定されたデバイスのテレフォニーオーディオを停止します。通話が終了したとき、またはテレフォニーオーディオが不要になったときに呼び出す必要があります。
パラメーター
device
テレフォニーオーディオを停止する対象のデバイス
address
String
デバイスの一意の識別子(Bluetoothアドレスなど)
戻り値
Promise<AudioStatus>
Promise:以下に解決されるプロミスオブジェクト:
- (0): 成功しました
- (-2): パラメーターが無効です
- (-8): テレフォニーがアクティブではありません
- (-5): サーバー接続が失われました
unregisterAudioEventObserverAsync()
staticunregisterAudioEventObserverAsync():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()
staticupdateActiveVolumeAsync(update:Int32, fallbackType: AudioVolumeType):Promise<AudioStatus>
アクティブなストリームの音量を増減して更新します。アクティブなストリームがない場合は、指定されたフォールバックタイプの、システム全体にわたる音量を調整します。
必要な権限:com.amazon.audio.privilege.settings.control
このAPIはKeplerシステムアプリケーションに限定されており、他のアプリでは使用できません。適切な権限なしでこのAPIを呼び出すと、何も実行されないか、セキュリティ例外が発生する可能性があります。
パラメーター
update
Int32
更新のタイプ:
- (0): 音量を1段階上げます
- (1): 音量を1段階下げます
fallbackType
アクティブなストリームがない場合に調整する音量タイプ
戻り値
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()
staticupdateVolumeAsync(type: AudioVolumeType, volume:Int32):Promise<AudioStatus>
特定のオーディオタイプの、システム全体にわたる音量を増減して更新します。
必要な権限:com.amazon.audio.privilege.settings.control
このAPIはKeplerシステムアプリケーションに限定されており、他のアプリでは使用できません。適切な権限なしでこのAPIを呼び出すと、何も実行されないか、セキュリティ例外が発生する可能性があります。
パラメーター
type
調整するオーディオタイプ。タイプを知りたい場合に参照してください。
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日

