Class WebRtcAudioRecord

java.lang.Object
org.webrtc.audio.WebRtcAudioRecord

public class WebRtcAudioRecord extends Object
  • Field Details

  • Constructor Details

  • Method Details

    • setNativeAudioRecord

      public void setNativeAudioRecord(long nativeAudioRecord)
    • isAcousticEchoCancelerSupported

      boolean isAcousticEchoCancelerSupported()
    • isNoiseSuppressorSupported

      boolean isNoiseSuppressorSupported()
    • isAudioConfigVerified

      boolean isAudioConfigVerified()
    • isAudioSourceMatchingRecordingSession

      boolean isAudioSourceMatchingRecordingSession()
    • enableBuiltInAEC

      private boolean enableBuiltInAEC(boolean enable)
    • enableBuiltInNS

      private boolean enableBuiltInNS(boolean enable)
    • initRecording

      private int initRecording(int sampleRate, int channels)
    • triggerAudioRecordStarted

      public void triggerAudioRecordStarted()
      Prefer a specific AudioDeviceInfo device for recording. Calling after recording starts is valid but may cause a temporary interruption if the audio routing changes.
    • triggerAudioRecordStopped

      public void triggerAudioRecordStopped()
    • getAudioRecordListener

      public IAudioRecordListener getAudioRecordListener()
    • startRecording

      private boolean startRecording()
    • stopRecording

      private boolean stopRecording()
    • assertTrue

      private static void assertTrue(boolean condition)
    • nativeCacheDirectBufferAddress

      private void nativeCacheDirectBufferAddress(long nativeAudioRecordJni, ByteBuffer byteBuffer)
    • nativeDataIsRecorded

      private void nativeDataIsRecorded(long nativeAudioRecordJni, int bytes, long captureTimestampNs)
    • nativeCacheDirectBufferAddressForEncodedAudio

      private void nativeCacheDirectBufferAddressForEncodedAudio(long nativeAudioRecordJni, String trackId, ByteBuffer byteBuffer)
    • nativeEncodedDataIsReady

      public void nativeEncodedDataIsReady(long nativeAudioRecordJni, String trackId, int bytes)
    • encodedDataIsReady

      public void encodedDataIsReady(long nativeAudioRecordJni, String trackId, int bytes)
    • setMicrophoneMute

      public void setMicrophoneMute(boolean mute)
    • releaseAudioResources

      private void releaseAudioResources()
    • reportWebRtcAudioRecordInitError

      private void reportWebRtcAudioRecordInitError(String errorMessage)
    • reportWebRtcAudioRecordStartError

      private void reportWebRtcAudioRecordStartError(JavaAudioDeviceModule.AudioRecordStartErrorCode errorCode, String errorMessage)
    • reportWebRtcAudioRecordError

      private void reportWebRtcAudioRecordError(String errorMessage)
    • doAudioRecordStateCallback

      private void doAudioRecordStateCallback(int audioState)
    • audioStateToString

      private static String audioStateToString(int state)
    • notifyEncodedData

      public void notifyEncodedData(String trackId, ByteBuffer audio)
      Parameters:
      audio - => 20ms of encoded audio data
    • getEncodedByteBuffers

      public Map<String,ByteBuffer> getEncodedByteBuffers()