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
Modifier and TypeClassDescriptionstatic interface
static enum
static interface
Called when audio recording starts and stops.static class
Contains audio sample information.static interface
static enum
static interface
Called when audio playout starts and stops.static class
static interface
Called when new audio samples are ready. -
Field Summary
Modifier and TypeFieldDescriptionprivate final WebRtcAudioRecord
private final WebRtcAudioTrack
private final int
private long
private final Object
private final int
private static final String
private final boolean
private final boolean
-
Constructor Summary
ModifierConstructorDescriptionprivate
JavaAudioDeviceModule
(Object context, Object audioManager, WebRtcAudioRecord audioInput, WebRtcAudioTrack audioOutput, int inputSampleRate, int outputSampleRate, boolean useStereoInput, boolean useStereoOutput) -
Method Summary
Modifier and TypeMethodDescriptionlong
Returns a C++ pointer to a webrtc::AudioDeviceModule.static boolean
Returns true if the device supports built-in HW AEC, and the UUID is approved (some UUIDs can be excluded).static boolean
Returns true if the device supports built-in HW NS, and the UUID is approved (some UUIDs can be excluded).private static long
nativeCreateAudioDeviceModule
(Object context, Object audioManager, WebRtcAudioRecord audioInput, WebRtcAudioTrack audioOutput, int inputSampleRate, int outputSampleRate, boolean useStereoInput, boolean useStereoOutput) void
release()
Release resources for this AudioDeviceModule, including native resources.void
setMicrophoneMute
(boolean mute) Control muting/unmuting the microphone.void
setSpeakerMute
(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:AudioDeviceModule
Returns a C++ pointer to a webrtc::AudioDeviceModule. Caller does _not_ take ownership and lifetime is handled through the release() call.- Specified by:
getNativeAudioDeviceModulePointer
in interfaceAudioDeviceModule
-
release
public void release()Description copied from interface:AudioDeviceModule
Release resources for this AudioDeviceModule, including native resources. The object should not be used after this call.- Specified by:
release
in interfaceAudioDeviceModule
-
getAudioTrack
-
getAudioRecord
-
setSpeakerMute
public void setSpeakerMute(boolean mute) Description copied from interface:AudioDeviceModule
Control muting/unmuting the speaker.- Specified by:
setSpeakerMute
in interfaceAudioDeviceModule
-
setMicrophoneMute
public void setMicrophoneMute(boolean mute) Description copied from interface:AudioDeviceModule
Control muting/unmuting the microphone.- Specified by:
setMicrophoneMute
in interfaceAudioDeviceModule
-
nativeCreateAudioDeviceModule
private static long nativeCreateAudioDeviceModule(Object context, Object audioManager, WebRtcAudioRecord audioInput, WebRtcAudioTrack audioOutput, int inputSampleRate, int outputSampleRate, boolean useStereoInput, boolean useStereoOutput)
-