Package tvi.webrtc.audio
Class JavaAudioDeviceModule
java.lang.Object
tvi.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. -
Method Summary
Modifier and TypeMethodDescriptionbuilder
(android.content.Context context) long
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).void
release()
Release resources for this AudioDeviceModule, including native resources.void
setMicrophoneMute
(boolean mute) Control muting/unmuting the microphone.void
setPreferredInputDevice
(android.media.AudioDeviceInfo preferredInputDevice) Start to prefer a specificAudioDeviceInfo
device for recording.void
setSpeakerMute
(boolean mute) Control muting/unmuting the speaker.
-
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
-
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
-
setPreferredInputDevice
public void setPreferredInputDevice(android.media.AudioDeviceInfo preferredInputDevice) Start to prefer a specificAudioDeviceInfo
device for recording. Typically this should only be used if a client gives an explicit option for choosing a physical device to record from. Otherwise the best-matching device for other parameters will be used. Calling after recording is started may cause a temporary interruption if the audio routing changes.
-