オーディオ再生ストリームビルダー
オーディオ再生ストリームビルダーを使用すると、オーディオ再生ストリームの構成、作成、破棄を行うことができます。
- TOC
必要なサービス
このAPIには、システムオーディオサービスの宣言が必要です。
[wants]
[[wants.service]]
id = "com.amazon.audio.stream"
[[wants.service]]
id = "com.amazon.audio.control"
使用される型
オーディオコアタイプを参照してください
AudioStatusAudioAttributesAudioContentTypeAudioUsageTypeAudioFlagsAudioConfigAudioSampleRateAudioSampleFormatAudioSource
静的メソッド
AudioPlaybackStreamBuilder.destroyAsync(playbackStream)
説明
パラメーターで指定されたAudioPlaybackStreamオブジェクトを破棄します。
戻り値
AudioStatus型に解決されるPromiseを返します。
パラメーター
| パラメーター名 | 型 | 必須 | 説明 |
|---|---|---|---|
| playbackStream | AudioPlaybackStream | ○ | 破棄するAudioPlaybackStream。 |
サンプルコード
/*
playbackStreamを破棄し、Promiseの解決後に返されたAudioStatus型を
statusに格納します。
playbackStreamはAudioPlaybackStreamオブジェクトであると想定します。
*/
const status = AudioPlaybackStreamBuilder.destroyAsync(playbackStream)
.then((status) => {return status;}).catch((error) => console.log(error));
メソッド
buildAsync()
説明
新しいAudioPlaybackStreamオブジェクトを作成します。
戻り値
AudioPlaybackStreamオブジェクトに解決されるPromiseを返します。
サンプルコード
/*
AudioPlaybackStreamオブジェクトに解決されるPromiseを返し、
playbackStream
*/
const builder = new AudioPlaybackStreamBuilder();
const playbackStream = builder.buildAsync()
.then((stream) => {return stream;}).catch((error) => console.log(error));
setAudioConfig(config)
説明
再生ストリームのオーディオ構成を設定します。
戻り値
戻り値はありません。
パラメーター
| パラメーター名 | 型 | 必須 | 説明 |
|---|---|---|---|
| config | AudioConfig | ○ | 再生ストリームのオーディオ構成の詳細。 |
サンプルコード
/*
オーディオ再生構成をconfigで指定した値に設定します。
buildAysnc()の呼び出しによって作成される再生ストリームはすべて、この
configuration
builderはAudioPlaybackStreamBuilderオブジェクトであると想定します。
*/
const config: AudioConfig = {
sampleRate: AudioSampleRate.SAMPLE_RATE_8_KHZ,
channelMask: AudioChannelMask.CHANNEL_STEREO,
format: AudioSampleFormat.FORMAT_PCM_16_BIT,
};
builder.setAudioConfig(config);
reset()
説明
オーディオ再生ビルダー構成をリセットします。
戻り値
戻り値はありません。
サンプルコード
/*
オーディオ再生ビルダー構成をリセットします。
builderはAudioPlaybackStreamBuilderオブジェクトであると想定します。
*/
builder.reset();
setAudioAttributes(attributes)
説明
オーディオ再生ビルダーの属性を設定します。
戻り値
戻り値はありません。
パラメーター
| パラメーター名 | 型 | 必須 | 説明 |
|---|---|---|---|
| attributes | AudioAttributes | ○ | 再生ストリームビルダーのオーディオ属性。 |
サンプルコード
/*
オーディオ属性をattributesで指定した値に設定します。
buildAysnc()の呼び出しによって作成される再生ストリームはすべて、これらの
attributes
builderはAudioPlaybackStreamBuilderオブジェクトであると想定します。
*/
const attributes: AudioAttributes = {
contentType: AudioContentType.CONTENT_TYPE_NONE,
usage: AudioUsageType.USAGE_NONE,
flags: AudioFlags.FLAG_NONE
};
builder.setAudioAttributes(attributes);
setFramesPerBuffer(framesPerBuffer)
説明
共有メモリバッファーキューでのフレーム数のバッファーキャパシティを構成します。これは、共有メモリバッファーキューにおけるスロットあたりのバッファーサイズを決定するために使用されます。
戻り値
戻り値はありません。
パラメーター
| パラメーター名 | 型 | 必須 | 説明 |
|---|---|---|---|
| framesPerBuffer | Int32 | ○ | ビルダーのバッファーあたりのフレーム数を表します。 |
サンプルコード
/*
ビルダーのバッファーあたりのフレーム数を設定します。
builderはAudioPlaybackStreamBuilderオブジェクトであると想定します。
*/const framesPerBuffer = 200;
builder.setFramesPerBuffer(framesPerBuffer);
setAudioFocusSessionId(focusSessionId)
説明
オーディオ再生ビルダーのオーディオフォーカスセッションIDを設定します。フォーカスセッションIDを取得するには、AudioFocusSessionオブジェクトを作成し、それに直接アクセスします。
戻り値
戻り値はありません。
パラメーター
| パラメーター名 | 型 | 必須 | 説明 |
|---|---|---|---|
| focusSessionId | Int32 | ○ | ビルダーのオーディオフォーカスセッションIDを表します。 |
サンプルコード
/*
セッションIDを1に設定します。
builderはAudioPlaybackStreamBuilderオブジェクトであると想定します。
*/
builder.setAudioFocusSessionId(session.getAudioSessionId());
注: 上の例では、sessionがAudioFocusSessionオブジェクトであると想定しています。
setUnderrunThreshold(framesThreshold)
説明
オーディオサーバーがバッファーアンダーランをクライアントに報告するタイミングを構成します。
戻り値
戻り値はありません。
パラメーター
| パラメーター名 | 型 | 必須 | 説明 |
|---|---|---|---|
| framesThreshold | Int32 | ○ | フレームしきい値 |
サンプルコード
const createAudioSourceInstance = async () => {
const builder = new AudioPlaybackStreamBuilder();
/*その他の構成
...
...
...*/
builder.setUnderrunThreshold(3); // しきい値を3に設定します
const stream = await builder.buildAsync();
playbackStream.current = stream;
}
createAudioSourceInstance();
setDuckingPolicy(duckPolicy)
説明
アプリによる明示的なダッキングを使用するか、システムによる自動ダッキングを使用するかを指定するために使用されます。
ダッキングポリシーがStreamDuckingPolicy::EXPLICITである場合、アプリはduckVolume APIを呼び出してストリームの音量をダッキングする必要があります。そうしないと、ボリュームは変更されません。
StreamDuckingPolicy::SYSTEM(デフォルト)に設定すると、ストリームの音量のダッキングはシステムによって処理されます。
戻り値
戻り値はありません。
パラメーター
| パラメーター名 | 型 | 必須 | 説明 |
|---|---|---|---|
| duckPolicy | StreamDuckingPolicy | ○ | ダッキングモード、SYSTEMまたはEXPLICIT |
サンプルコード
const createAudioSourceInstance = async () => {
const builder = new AudioPlaybackStreamBuilder();
/*その他の構成
...
...
...*/
builder.setDuckingPolicy(StreamDuckingPolicy.EXPLICIT); // ポリシーを明示的に設定します
const stream = await builder.buildAsync();
playbackStream.current = stream;
}
createAudioSourceInstance();
Last updated: 2025年10月2日

