Camera1Base

abstract class Camera1Base

Wrapper to stream with camera1 api and microphone. Support stream with SurfaceView, TextureView and OpenGlView(Custom SurfaceView that use OpenGl). SurfaceView and TextureView use buffer to buffer encoding mode for H264 and OpenGlView use Surface to buffer mode(This mode is generally better because skip buffer processing). API requirements: SurfaceView and TextureView mode: API 16+. OpenGlView: API 18+. Created by pedro on 7/07/17.

Inheritors

Constructors

Link copied to clipboard
constructor(surfaceView: SurfaceView)
constructor(textureView: TextureView)

Properties

Link copied to clipboard

Functions

Link copied to clipboard
open fun disableAudio()
Mute microphone, can be called before, while and after stream.
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun disableLantern()
Link copied to clipboard
Link copied to clipboard
open fun enableAudio()
Enable a muted microphone, can be called before, while and after stream.
Link copied to clipboard
Link copied to clipboard
open fun enableFaceDetection(faceDetectorCallback: FaceDetectorCallback): Boolean
Link copied to clipboard
open fun enableLantern()
Link copied to clipboard
Link copied to clipboard
open fun forceCodecType(codecTypeVideo: CodecUtil.CodecType, codecTypeAudio: CodecUtil.CodecType)
Link copied to clipboard
open fun forceFpsLimit(enabled: Boolean)
Force stream to work with fps selected in prepareVideo method.
Link copied to clipboard
open fun getBitrate(): Int
Link copied to clipboard
Link copied to clipboard
open fun getExposure(): Int
Link copied to clipboard
open fun getMaxExposure(): Int
Link copied to clipboard
open fun getMaxZoom(): Int
Return max zoom level
Link copied to clipboard
open fun getMinExposure(): Int
Link copied to clipboard
open fun getMinZoom(): Int
Return min zoom level
Link copied to clipboard
Link copied to clipboard
Get supported resolutions of back camera in px.
Link copied to clipboard
Get supported resolutions of front camera in px.
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun getStreamHeight(): Int
Link copied to clipboard
open fun getStreamWidth(): Int
Link copied to clipboard
Link copied to clipboard
open fun getZoom(): Float
Return current zoom level
Link copied to clipboard
open fun isAudioMuted(): Boolean
Get mute state of microphone.
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Use getCameraFacing instead
Link copied to clipboard
Link copied to clipboard
open fun isOnPreview(): Boolean
Get preview state.
Link copied to clipboard
open fun isRecording(): Boolean
Get record state.
Link copied to clipboard
open fun isStreaming(): Boolean
Get stream state.
Link copied to clipboard
Link copied to clipboard
open fun pauseRecord()
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.
Link copied to clipboard
open fun prepareVideo(): Boolean
Same to call: rotation = 0; if (Portrait) rotation = 90; prepareVideo(640, 480, 30, 1200 * 1024, false, rotation);
open fun prepareVideo(width: Int, height: Int, bitrate: Int): Boolean
open fun prepareVideo(width: Int, height: Int, fps: Int, bitrate: Int, rotation: Int): Boolean

open fun prepareVideo(width: Int, height: Int, fps: Int, bitrate: Int, iFrameInterval: Int, rotation: Int): Boolean
backward compatibility reason
open fun prepareVideo(width: Int, height: Int, fps: Int, bitrate: Int, iFrameInterval: Int, rotation: Int, profile: Int, level: Int): Boolean
Call this method before use @startStream.
Link copied to clipboard
open fun requestKeyFrame()
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun resumeRecord()
Link copied to clipboard
open fun setAudioCodec(codec: AudioCodec)
Link copied to clipboard
open fun setCameraCallbacks(callbacks: CameraCallbacks)
Link copied to clipboard
open fun setCustomAudioEffect(customAudioEffect: CustomAudioEffect)
Set an audio effect modifying microphone's PCM buffer.
Link copied to clipboard
open fun setEncoderErrorCallback(encoderErrorCallback: EncoderErrorCallback)
Set a callback to know errors related with Video/Audio encoders
Link copied to clipboard
open fun setExposure(value: Int)
Link copied to clipboard
Link copied to clipboard
open fun setPreviewOrientation(orientation: Int)
Change preview orientation can be called while stream.
Link copied to clipboard
open fun setRecordController(recordController: BaseRecordController)
Link copied to clipboard
open fun setTimestampMode(timestampModeVideo: TimestampMode, timestampModeAudio: TimestampMode)
Set the mode to calculate timestamp.
Link copied to clipboard
Set video bitrate of H264 in bits per second while stream.
Link copied to clipboard
open fun setVideoCodec(codec: VideoCodec)
Link copied to clipboard
open fun setZoom(event: MotionEvent)
open fun setZoom(level: Int)
Set zoomIn or zoomOut to camera.
open fun setZoom(event: MotionEvent, delta: Int)
Link copied to clipboard
open fun startPreview()
open fun startPreview(cameraFacing: CameraHelper.Facing)
open fun startPreview(cameraFacing: Int)
open fun startPreview(cameraFacing: CameraHelper.Facing, rotation: Int)
open fun startPreview(width: Int, height: Int)
open fun startPreview(cameraFacing: CameraHelper.Facing, width: Int, height: Int)
open fun startPreview(cameraFacing: Int, width: Int, height: Int)
open fun startPreview(cameraFacing: CameraHelper.Facing, width: Int, height: Int, rotation: Int)
open fun startPreview(cameraFacing: Int, width: Int, height: Int, rotation: Int)

open fun startPreview(cameraFacing: CameraHelper.Facing, width: Int, height: Int, fps: Int, rotation: Int)
open fun startPreview(cameraId: Int, width: Int, height: Int, fps: Int, rotation: Int)
Start camera preview.
Link copied to clipboard
open fun startStream(url: String)
Need be called after @prepareVideo or/and @prepareAudio.
Link copied to clipboard
open fun stopCamera()
Similar to stopPreview but you can do it while streaming or recording.
Link copied to clipboard
open fun stopPreview()
Stop camera preview.
Link copied to clipboard
Stop record MP4 video started with @startRecord.
Link copied to clipboard
open fun stopStream()
Stop stream started with @startStream.
Link copied to clipboard
open fun switchCamera()
Switch camera used.
open fun switchCamera(cameraId: Int)
Link copied to clipboard
open fun tapToFocus(view: View, event: MotionEvent): Boolean