Package com.amazonaws.ivs.broadcast
Class AudioDevice
- java.lang.Object
-
- com.amazonaws.ivs.broadcast.Device
-
- com.amazonaws.ivs.broadcast.AudioDevice
-
- Direct Known Subclasses:
AudioSource
public abstract class AudioDevice extends Device
Audio input sources must conform to this interface
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
AudioDevice.Format
Audio data representationsstatic interface
AudioDevice.StatsCallback
-
Nested classes/interfaces inherited from class com.amazonaws.ivs.broadcast.Device
Device.Descriptor
-
-
Constructor Summary
Constructors Constructor Description AudioDevice()
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description abstract int
appendBuffer(java.nio.ByteBuffer buffer, long count, long presentationTimeUs)
Append an audio buffer.abstract void
setGain(java.lang.Float gain)
Set the input gainabstract void
setStatsCallback(AudioDevice.StatsCallback callback)
Set a callback to receive audio stats for this device.-
Methods inherited from class com.amazonaws.ivs.broadcast.Device
getDescriptor, getTag, isValid
-
-
-
-
Method Detail
-
setGain
public abstract void setGain(java.lang.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.
-
appendBuffer
public abstract int appendBuffer(java.nio.ByteBuffer buffer, long count, long presentationTimeUs)
Append an audio buffer. This can only be used withDevice.Descriptor.DeviceType.USER_AUDIO
- Parameters:
buffer
- The buffer of audio data to append. This must be allocated as a Direct ByteBuffercount
- The number of bytes to usepresentationTimeUs
- The presentation time, in microseconds- Returns:
- The number of samples processed
-
setStatsCallback
public abstract 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.
-
-