Class AudioSource

  • Direct Known Subclasses:
    CustomAudioSource

    public class AudioSource
    extends AudioDevice
    Use AudioSource as a generic source to send app-generated audio to the SDK in LPCM format. See also Session.createAudioInputSource(int, BroadcastConfiguration.AudioSampleRate, Format)
    • Method Detail

      • setGain

        public void setGain​(java.lang.Float gain)
        Description copied from class: AudioDevice
        Set the input gain
        Specified by:
        setGain in class AudioDevice
        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 int appendBuffer​(java.nio.ByteBuffer buffer,
                                long count,
                                long presentationTimeUs)
        Description copied from class: AudioDevice
        Append an audio buffer. This can only be used with Device.Descriptor.DeviceType.USER_AUDIO
        Specified by:
        appendBuffer in class AudioDevice
        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
      • isValid

        public boolean isValid()
        Specified by:
        isValid in class Device
      • getTag

        public java.lang.String getTag()
        Specified by:
        getTag in class Device
      • setStatsCallback

        public void setStatsCallback​(AudioDevice.StatsCallback callback)
        Description copied from class: AudioDevice
        Set a callback to receive audio stats for this device. This will be called on the main thread.
        Specified by:
        setStatsCallback in class AudioDevice
        Parameters:
        callback - A callback lambda that takes two floats: peak and rms.
      • getHandle

        public long getHandle()
      • setGain

        protected void setGain​(long handle,
                               float gain)
      • setConfiguration

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

        protected int appendBuffer​(long handle,
                                   java.nio.ByteBuffer buffer,
                                   long count,
                                   long presentationTimeUs)