Amazon Developer

as

Settings
Sign out
Notifications
Alexa
Amazon Appstore
Ring
AWS
Documentation
Support
Contact Us
My Cases
Get Started
Design and Develop
Publish
Reference
Support
Native
Skip to main content

Interface IAudioStreamPlaybackBuilder

interface IAudioStreamPlaybackBuilder
Extends com.amazon.apmf.IStandard Interface for encapsulating Audio Playback Builder

Methods

audioConfig()

IAudioStreamPlaybackBuilder* audioConfig(AudioConfig* audioconfig)
Set audio config

Parameters

audioconfig
AudioConfig* — Required playback audio data configuration

Returns

IAudioStreamPlaybackBuilder* playback stream builder object

audioAttributes()

IAudioStreamPlaybackBuilder* audioAttributes(AudioAttributes* audioAttributes)
Set audio attributes

Parameters

audioAttributes
AudioAttributes* — Required playback stream attributes

Returns

IAudioStreamPlaybackBuilder* playback stream builder object

framesPerBuffer()

IAudioStreamPlaybackBuilder* framesPerBuffer(i32 frames)
Configure each buffer capacity in frame count for shared memory buffer queue. Used to determine buffer size per slot in the shared memory buffer queue. Minimum possible size could be requested by queryMinimumBufferInfo.

Parameters

frames
i32 — Required number of frames per buffer in the buffer queue

Returns

IAudioStreamPlaybackBuilder* playback stream builder object

bufferCount()

IAudioStreamPlaybackBuilder* bufferCount(i32 count)
Configure buffer count in buffer queue for shared memory. Used for fine tuning latency behavior. smaller the number, less latency there will be, but system will carry greater risk for xrun glitching. Support both pcm and compressed data for buffer size configuration. Minimum possible count could be requested by Playback::queryMinimumBufferInfo.

Parameters

count
i32 — Required number of buffers in shared memory queue.

Returns

IAudioStreamPlaybackBuilder* playback stream builder object

underrunThreshold()

IAudioStreamPlaybackBuilder* underrunThreshold(i32 framesThreshold)
Configure when audio server will report buffer underruns back to client. Used for monitoring size of buffer during stream playback. Underrun detection will only start after first audio frame renders. Afterwards, if the buffer size falls below set threshold, onBufferUnderrun callback will be triggered. If server dies and recovers, any data in client buffer is cleared and underrun detection will only begin again once enough data is in buffer to render one audio frame.

Parameters

framesThreshold
i32 — Required minimum size of buffer in frames before underrun is reported.

Returns

IAudioStreamPlaybackBuilder* playback stream builder object

audioFocusSessionId()

IAudioStreamPlaybackBuilder* audioFocusSessionId(i32 sessionId)
Configure audio focus session ID. Used to specify which audio focus session it links to. If not set, this stream will link to default audio focus session.

Parameters

sessionId
i32 — Required focus session ID acquired from getAudioSessionId@AudioFocusSession. If not valid, default audio focus session’s ID will be applied instead

Returns

IAudioStreamPlaybackBuilder* playback stream builder object

duckingPolicy()

IAudioStreamPlaybackBuilder* duckingPolicy(StreamDuckingPolicy* policy)
Set stream audio ducking policy. Used to specify whether using explicitly ducking by app or using automatic ducking by system.

Parameters

policy
StreamDuckingPolicy* — Required ducking policy

Returns

IAudioStreamPlaybackBuilder* playback stream builder object. If ducking policy is StreamDuckingPolicy::EXPLICIT, the app needs to call duckVolume API to duck the stream volume, otherwise the volume won’t be changed; if set to StreamDuckingPolicy::SYSTEM (by default), the stream volume ducking is handled by the system.

build()

IAudioStreamPlayback* build()
Build the AudioStream Playback object.

Returns

IAudioStreamPlayback* playback stream builder object
Last modified on October 29, 2026