# GenericOnlyAudio

class GenericOnlyAudio(connectChecker: ConnectChecker) : OnlyAudioBase

## Constructors

GenericOnlyAudio
Link copied to clipboard
constructor(connectChecker: ConnectChecker)

## Properties

isAudioMuted
Link copied to clipboard
open val isAudioMuted: Boolean
isRecording
Link copied to clipboard
open val isRecording: Boolean
isStreaming
Link copied to clipboard
open val isStreaming: Boolean
recordStatus
Link copied to clipboard
open val recordStatus: RecordController.Status?
streamClient
Link copied to clipboard
open override val streamClient: GenericStreamClient

## Functions

disableAudio
Link copied to clipboard
open fun disableAudio()

Mute microphone, can be called before, while and after stream.

enableAudio
Link copied to clipboard
open fun enableAudio()

Enable a muted microphone, can be called before, while and after stream.

forceCodecType
Link copied to clipboard
open fun forceCodecType(codecTypeAudio: CodecUtil.CodecType?)
getStreamClient
Link copied to clipboard
open override fun getStreamClient(): GenericStreamClient
pauseRecord
Link copied to clipboard
open fun pauseRecord()
prepareAudio
Link copied to clipboard
open fun prepareAudio(): Boolean

Same to call: prepareAudio(64 * 1024, 32000, true, false, false);

open fun prepareAudio(bitrate: Int, sampleRate: Int, isStereo: Boolean): Boolean
open fun prepareAudio(bitrate: Int, sampleRate: Int, isStereo: Boolean, echoCanceler: Boolean, noiseSuppressor: Boolean): Boolean
open fun prepareAudio(audioSource: Int, bitrate: Int, sampleRate: Int, isStereo: Boolean, echoCanceler: Boolean, noiseSuppressor: Boolean): Boolean

Call this method before use @startStream. If not you will do a stream without audio.

resetAudioEncoder
Link copied to clipboard
open fun resetAudioEncoder(): Boolean
resumeRecord
Link copied to clipboard
open fun resumeRecord()
setAudioCodec
Link copied to clipboard
open fun setAudioCodec(codec: AudioCodec?)
setCustomAudioEffect
Link copied to clipboard
open fun setCustomAudioEffect(customAudioEffect: CustomAudioEffect?)

Set an audio effect modifying microphone's PCM buffer.

setEncoderErrorCallback
Link copied to clipboard
open fun setEncoderErrorCallback(encoderErrorCallback: CodecErrorCallback?)

Set a callback to know errors related with Video/Audio encoders

setRecordController
Link copied to clipboard
open fun setRecordController(recordController: RecordController?)
setTimestampMode
Link copied to clipboard
open fun setTimestampMode(timestampModeAudio: TimestampMode?)

Set the mode to calculate timestamp. By default CLOCK. Must be called before startRecord/startStream or it will be ignored.

startRecord
Link copied to clipboard
@RequiresApi(api = 26)
open fun startRecord(@NonNull fd: FileDescriptor)
@RequiresApi(api = 18)
open fun startRecord(path: String?)
@RequiresApi(api = 26)
open fun startRecord(@NonNull fd: FileDescriptor, @Nullable listener: RecordController.Listener?)
@RequiresApi(api = 18)
open fun startRecord(path: String?, listener: RecordController.Listener?)

Starts recording an AAC audio.

startStream
Link copied to clipboard
open fun startStream(url: String?)

Need be called after @prepareVideo or/and @prepareAudio.

stopRecord
Link copied to clipboard
@RequiresApi(api = 18)
open fun stopRecord()

Stop record AAC audio started with @startRecord. If you don't call it file will be unreadable.

stopStream
Link copied to clipboard
open fun stopStream()

Stop stream started with @startStream.