Package com.twilio.voice
Class DefaultAudioDevice
- java.lang.Object
-
- com.twilio.voice.DefaultAudioDevice
-
- All Implemented Interfaces:
AudioDevice
,AudioDeviceCapturer
,AudioDeviceRenderer
public class DefaultAudioDevice extends java.lang.Object implements AudioDevice
DefaultAudioDevice is the default audio device module SDK uses when a custom one is not provided. By default, the Voice SDK uses `DefaultAudioDevice` to capture and render audio. The SDK performs acoustic echo cancellation (AEC) and noise suppression (NS) using device hardware by default. Using device hardware is more efficient, but some devices do not implement these audio effects well. `DefaultAudioDevice` provides API `setUseHardwareAcousticEchoCanceler(...)` or `setUseHardwareNoiseSuppressor(...)` to toggle the default behavior. If you are experiencing echo or background noise on certain devices reference the following snippet for enabling software implementations of AEC and NS anytime before invoking `Voice.connect(...)` or `CallInvite.accept(...)`.// Use software AEC DefaultAudioDevice defaultAudioDevice=new DefaultAudioDevice(); defaultAudioDevice.setUseHardwareAcousticEchoCanceler(false); Voice.setAudioDevice(defaultAudioDevice); // Use software NS DefaultAudioDevice defaultAudioDevice=new DefaultAudioDevice(); defaultAudioDevice.setUseHardwareNoiseSuppressor(false); Voice.setAudioDevice(defaultAudioDevice);
-
-
Constructor Summary
Constructors Constructor Description DefaultAudioDevice()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description AudioFormat
getCapturerFormat()
This method is a no-op that returnsnull
.AudioFormat
getRendererFormat()
This method is a no-op that returnsnull
.boolean
onInitCapturer()
This method is a no-op that returnsfalse
.boolean
onInitRenderer()
This method is a no-op that returnsfalse
.boolean
onStartCapturing(AudioDeviceContext audioDeviceContext)
This method is a no-op that returnsfalse
.boolean
onStartRendering(AudioDeviceContext audioDeviceContext)
This method is a no-op that returnsfalse
.boolean
onStopCapturing()
This method is a no-op that returnsfalse
.boolean
onStopRendering()
This method is a no-op that returnsfalse
.void
setUseHardwareAcousticEchoCanceler(boolean useHardwareAcousticEchoCanceler)
Control if the built-in hardware AEC should be used or not.void
setUseHardwareNoiseSuppressor(boolean useHardwareNoiseSuppressor)
Control if the built-in hardware noise suppressor should be used or not.boolean
useHardwareAcousticEchoCanceler()
Indicates if the built-in hardware AEC is used or not.boolean
useHardwareNoiseSuppressor()
Indicates if the built-in hardware noise suppressor is used or not.
-
-
-
Method Detail
-
setUseHardwareAcousticEchoCanceler
public void setUseHardwareAcousticEchoCanceler(boolean useHardwareAcousticEchoCanceler)
Control if the built-in hardware AEC should be used or not. The default value istrue
.- Parameters:
useHardwareAcousticEchoCanceler
- true if audio device should use hardware AEC, false otherwise
-
setUseHardwareNoiseSuppressor
public void setUseHardwareNoiseSuppressor(boolean useHardwareNoiseSuppressor)
Control if the built-in hardware noise suppressor should be used or not. The default value istrue
.- Parameters:
useHardwareNoiseSuppressor
- true if audio device should use hardware noise suppressor, false otherwise.
-
useHardwareAcousticEchoCanceler
public boolean useHardwareAcousticEchoCanceler()
Indicates if the built-in hardware AEC is used or not. The default value istrue
.- Returns:
- true if the built-in hardware AEC is used.
-
useHardwareNoiseSuppressor
public boolean useHardwareNoiseSuppressor()
Indicates if the built-in hardware noise suppressor is used or not. The default value istrue
.- Returns:
- true if the built-in hardware noise suppressor is used.
-
getCapturerFormat
@Nullable public AudioFormat getCapturerFormat()
This method is a no-op that returnsnull
.- Specified by:
getCapturerFormat
in interfaceAudioDeviceCapturer
- Returns:
AudioFormat
-
onInitCapturer
public boolean onInitCapturer()
This method is a no-op that returnsfalse
.- Specified by:
onInitCapturer
in interfaceAudioDeviceCapturer
- Returns:
- A boolean value to indicate if initialization was successful.
-
onStartCapturing
public boolean onStartCapturing(@NonNull AudioDeviceContext audioDeviceContext)
This method is a no-op that returnsfalse
.- Specified by:
onStartCapturing
in interfaceAudioDeviceCapturer
- Returns:
- A boolean value that indicates if capturing has started or not.
-
onStopCapturing
public boolean onStopCapturing()
This method is a no-op that returnsfalse
.- Specified by:
onStopCapturing
in interfaceAudioDeviceCapturer
- Returns:
- A boolean value that indicates if capturing has stopped or not.
-
getRendererFormat
@Nullable public AudioFormat getRendererFormat()
This method is a no-op that returnsnull
.- Specified by:
getRendererFormat
in interfaceAudioDeviceRenderer
- Returns:
AudioFormat
-
onInitRenderer
public boolean onInitRenderer()
This method is a no-op that returnsfalse
.- Specified by:
onInitRenderer
in interfaceAudioDeviceRenderer
- Returns:
- A boolean value to indicate if initialization was successful.
-
onStartRendering
public boolean onStartRendering(@NonNull AudioDeviceContext audioDeviceContext)
This method is a no-op that returnsfalse
.- Specified by:
onStartRendering
in interfaceAudioDeviceRenderer
- Returns:
- A boolean value that indicates if rendering has started or not.
-
onStopRendering
public boolean onStopRendering()
This method is a no-op that returnsfalse
.- Specified by:
onStopRendering
in interfaceAudioDeviceRenderer
- Returns:
- A boolean value that indicates if rendering has stopped or not.
-
-