Package org.webrtc.audio
Class JavaAudioDeviceModule
java.lang.Object
org.webrtc.audio.JavaAudioDeviceModule
- All Implemented Interfaces:
AudioDeviceModule
AudioDeviceModule implemented using android.media.AudioRecord as input and
android.media.AudioTrack as output.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfacestatic enumstatic interfaceCalled when audio recording starts and stops.static classContains audio sample information.static interfacestatic enumstatic interfaceCalled when audio playout starts and stops.static classstatic interfaceCalled when new audio samples are ready. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final WebRtcAudioRecordprivate final WebRtcAudioTrackprivate final intprivate longprivate final Objectprivate final intprivate static final Stringprivate final booleanprivate final boolean -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivateJavaAudioDeviceModule(Object context, Object audioManager, WebRtcAudioRecord audioInput, WebRtcAudioTrack audioOutput, int inputSampleRate, int outputSampleRate, boolean useStereoInput, boolean useStereoOutput) -
Method Summary
Modifier and TypeMethodDescriptionlongReturns a C++ pointer to a webrtc::AudioDeviceModule.static booleanReturns true if the device supports built-in HW AEC, and the UUID is approved (some UUIDs can be excluded).static booleanReturns true if the device supports built-in HW NS, and the UUID is approved (some UUIDs can be excluded).private static longnativeCreateAudioDeviceModule(Object context, Object audioManager, WebRtcAudioRecord audioInput, WebRtcAudioTrack audioOutput, int inputSampleRate, int outputSampleRate, boolean useStereoInput, boolean useStereoOutput) voidrelease()Release resources for this AudioDeviceModule, including native resources.voidsetMicrophoneMute(boolean mute) Control muting/unmuting the microphone.voidsetSpeakerMute(boolean mute) Control muting/unmuting the speaker.
-
Field Details
-
TAG
- See Also:
-
audioInput
-
audioOutput
-
inputSampleRate
private final int inputSampleRate -
outputSampleRate
private final int outputSampleRate -
useStereoInput
private final boolean useStereoInput -
useStereoOutput
private final boolean useStereoOutput -
nativeLock
-
nativeAudioDeviceModule
private long nativeAudioDeviceModule
-
-
Constructor Details
-
JavaAudioDeviceModule
private JavaAudioDeviceModule(Object context, Object audioManager, WebRtcAudioRecord audioInput, WebRtcAudioTrack audioOutput, int inputSampleRate, int outputSampleRate, boolean useStereoInput, boolean useStereoOutput)
-
-
Method Details
-
builder
-
isBuiltInAcousticEchoCancelerSupported
public static boolean isBuiltInAcousticEchoCancelerSupported()Returns true if the device supports built-in HW AEC, and the UUID is approved (some UUIDs can be excluded). -
isBuiltInNoiseSuppressorSupported
public static boolean isBuiltInNoiseSuppressorSupported()Returns true if the device supports built-in HW NS, and the UUID is approved (some UUIDs can be excluded). -
getNativeAudioDeviceModulePointer
public long getNativeAudioDeviceModulePointer()Description copied from interface:AudioDeviceModuleReturns a C++ pointer to a webrtc::AudioDeviceModule. Caller does _not_ take ownership and lifetime is handled through the release() call.- Specified by:
getNativeAudioDeviceModulePointerin interfaceAudioDeviceModule
-
release
public void release()Description copied from interface:AudioDeviceModuleRelease resources for this AudioDeviceModule, including native resources. The object should not be used after this call.- Specified by:
releasein interfaceAudioDeviceModule
-
getAudioTrack
-
getAudioRecord
-
setSpeakerMute
public void setSpeakerMute(boolean mute) Description copied from interface:AudioDeviceModuleControl muting/unmuting the speaker.- Specified by:
setSpeakerMutein interfaceAudioDeviceModule
-
setMicrophoneMute
public void setMicrophoneMute(boolean mute) Description copied from interface:AudioDeviceModuleControl muting/unmuting the microphone.- Specified by:
setMicrophoneMutein interfaceAudioDeviceModule
-
nativeCreateAudioDeviceModule
private static long nativeCreateAudioDeviceModule(Object context, Object audioManager, WebRtcAudioRecord audioInput, WebRtcAudioTrack audioOutput, int inputSampleRate, int outputSampleRate, boolean useStereoInput, boolean useStereoOutput)
-