public class

AudioSource

extends AudioDevice
java.lang.Object
   ↳ com.amazonaws.ivs.broadcast.Device
     ↳ com.amazonaws.ivs.broadcast.AudioDevice
       ↳ com.amazonaws.ivs.broadcast.AudioSource
Known Direct Subclasses

Class Overview

Use AudioSource as a generic source to send app-generated audio to the SDK in LPCM format. See also BroadcastSession#createAudioInputSource(int, int, AudioDevice.Format)

Summary

Fields
protected final Device.Descriptor descriptor
protected long handle
protected AudioDevice.StatsCallback statsCallback
protected final String tag
Public Methods
synchronized int appendBuffer(ByteBuffer buffer, long count, long presentationTimeUs)
Append an audio buffer.
Device.Descriptor getDescriptor()
From Device
long getHandle()
String getTag()
boolean isValid()
synchronized void setGain(Float gain)
Set the input gain
void setStatsCallback(AudioDevice.StatsCallback callback)
Set a callback to receive audio stats for this device.
Protected Methods
int appendBuffer(long handle, ByteBuffer buffer, long count, long presentationTimeUs)
void setConfiguration(long handle, int channels, int sampleRate, int format)
void setGain(long handle, float gain)
[Expand]
Inherited Methods
From class com.amazonaws.ivs.broadcast.AudioDevice
From class com.amazonaws.ivs.broadcast.Device
From class java.lang.Object

Fields

protected final Device.Descriptor descriptor

protected long handle

protected AudioDevice.StatsCallback statsCallback

protected final String tag

Public Methods

public synchronized int appendBuffer (ByteBuffer buffer, long count, long presentationTimeUs)

Append an audio buffer. This can only be used with USER_AUDIO

Parameters
buffer The buffer of audio data to append. This must be allocated as a Direct ByteBuffer
count The number of bytes to use
presentationTimeUs The presentation time, in microseconds
Returns
  • The number of samples processed

public Device.Descriptor getDescriptor ()

From Device

public long getHandle ()

public String getTag ()

public boolean isValid ()

public synchronized void setGain (Float gain)

Set the input gain

Parameters
gain Generally between 0 and 1, but values up to 2 are accepted. Any value over 1 amplifies the signal and may cause clipping.

public void setStatsCallback (AudioDevice.StatsCallback callback)

Set a callback to receive audio stats for this device. This will be called on the main thread.

Parameters
callback A callback lambda that takes two floats: peak and rms.

Protected Methods

protected int appendBuffer (long handle, ByteBuffer buffer, long count, long presentationTimeUs)

protected void setConfiguration (long handle, int channels, int sampleRate, int format)

protected void setGain (long handle, float gain)