Package tvi.webrtc.audio
Class JavaAudioDeviceModule
- java.lang.Object
-
- tvi.webrtc.audio.JavaAudioDeviceModule
-
- All Implemented Interfaces:
AudioDeviceModule
public class JavaAudioDeviceModule extends java.lang.Object implements AudioDeviceModule
AudioDeviceModule implemented using android.media.AudioRecord as input and android.media.AudioTrack as output.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceJavaAudioDeviceModule.AudioRecordErrorCallbackstatic classJavaAudioDeviceModule.AudioRecordStartErrorCodestatic interfaceJavaAudioDeviceModule.AudioRecordStateCallbackCalled when audio recording starts and stops.static classJavaAudioDeviceModule.AudioSamplesContains audio sample information.static interfaceJavaAudioDeviceModule.AudioTrackErrorCallbackstatic classJavaAudioDeviceModule.AudioTrackStartErrorCodestatic interfaceJavaAudioDeviceModule.AudioTrackStateCallbackCalled when audio playout starts and stops.static classJavaAudioDeviceModule.Builderstatic interfaceJavaAudioDeviceModule.SamplesReadyCallbackCalled when new audio samples are ready.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static JavaAudioDeviceModule.Builderbuilder(android.content.Context context)longgetNativeAudioDeviceModulePointer()Returns a C++ pointer to a webrtc::AudioDeviceModule.static booleanisBuiltInAcousticEchoCancelerSupported()Returns true if the device supports built-in HW AEC, and the UUID is approved (some UUIDs can be excluded).static booleanisBuiltInNoiseSuppressorSupported()Returns true if the device supports built-in HW NS, and the UUID is approved (some UUIDs can be excluded).voidrelease()Release resources for this AudioDeviceModule, including native resources.voidsetMicrophoneMute(boolean mute)Control muting/unmuting the microphone.voidsetPreferredInputDevice(android.media.AudioDeviceInfo preferredInputDevice)Start to prefer a specificAudioDeviceInfodevice for recording.voidsetSpeakerMute(boolean mute)Control muting/unmuting the speaker.
-
-
-
Method Detail
-
builder
public static JavaAudioDeviceModule.Builder builder(android.content.Context context)
-
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
-
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
-
setPreferredInputDevice
public void setPreferredInputDevice(android.media.AudioDeviceInfo preferredInputDevice)
Start to prefer a specificAudioDeviceInfodevice 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.
-
-