as

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

オーディオ再生ストリームビルダー

オーディオ再生ストリームビルダー

オーディオ再生ストリームビルダーを使用すると、オーディオ再生ストリームの構成、作成、破棄を行うことができます。

  • TOC

必要なサービス

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

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

使用される型

オーディオコアタイプを参照してください

  • AudioStatus
  • AudioAttributes
  • AudioContentType
  • AudioUsageType
  • AudioFlags
  • AudioConfig
  • AudioSampleRate
  • AudioSampleFormat
  • AudioSource

静的メソッド

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日