Added in API level 23

VideoCall

abstract class VideoCall
kotlin.Any
   ↳ android.telecom.InCallService.VideoCall

Used to issue commands to the Connection.VideoProvider associated with a Call.

Summary

Nested classes
abstract

The InCallService extends this class to provide a means of receiving callbacks from the Connection.VideoProvider.

Public constructors

Public methods
abstract Unit

Registers a callback to receive commands and state changes for video calls.

abstract Unit

Registers a callback to receive commands and state changes for video calls.

abstract Unit

Issues a request to the Connection.VideoProvider to retrieve the cumulative data usage for the video component of the current call (in bytes).

abstract Unit

Issues a request to the Connection.VideoProvider to retrieve the capabilities of the current camera.

abstract Unit

Issues a request to modify the properties of the current video session.

abstract Unit

Provides a response to a request to change the current call video session properties.

abstract Unit
setCamera(cameraId: String!)

Sets the camera to be used for the outgoing video.

abstract Unit

Sets the device orientation, in degrees.

abstract Unit

Sets the surface to be used for displaying the video received from the remote device.

abstract Unit

Provides the Connection.VideoProvider with the Uri of an image to be displayed to the peer device when the video signal is paused.

abstract Unit

Sets the surface to be used for displaying a preview of what the user's camera is currently capturing.

abstract Unit
setZoom(value: Float)

Sets the camera zoom ratio.

abstract Unit

Clears the video call callback set via #registerCallback.

Public constructors

VideoCall

VideoCall()

Public methods

registerCallback

Added in API level 23
abstract fun registerCallback(callback: InCallService.VideoCall.Callback!): Unit

Registers a callback to receive commands and state changes for video calls.

Parameters
callback InCallService.VideoCall.Callback!: The video call callback.

registerCallback

Added in API level 23
abstract fun registerCallback(
    callback: InCallService.VideoCall.Callback!,
    handler: Handler!
): Unit

Registers a callback to receive commands and state changes for video calls.

Parameters
callback InCallService.VideoCall.Callback!: The video call callback.
handler Handler!: A handler which commands and status changes will be delivered to.

requestCallDataUsage

Added in API level 23
abstract fun requestCallDataUsage(): Unit

Issues a request to the Connection.VideoProvider to retrieve the cumulative data usage for the video component of the current call (in bytes). Data usage is reported to the caller via VideoCall.Callback#onCallDataUsageChanged.

Handled by Connection.VideoProvider#onRequestConnectionDataUsage().

requestCameraCapabilities

Added in API level 23
abstract fun requestCameraCapabilities(): Unit

Issues a request to the Connection.VideoProvider to retrieve the capabilities of the current camera. The current camera is selected using VideoCall#setCamera(String).

Camera capabilities are reported to the caller via VideoCall.Callback#onCameraCapabilitiesChanged(VideoProfile.CameraCapabilities).

Handled by Connection.VideoProvider#onRequestCameraCapabilities().

sendSessionModifyRequest

Added in API level 23
abstract fun sendSessionModifyRequest(requestProfile: VideoProfile!): Unit

Issues a request to modify the properties of the current video session.

Example scenarios include: requesting an audio-only call to be upgraded to a bi-directional video call, turning on or off the user's camera, sending a pause signal when the InCallService is no longer the foreground application.

Handled by Connection.VideoProvider#onSendSessionModifyRequest(VideoProfile, VideoProfile).

Parameters
requestProfile VideoProfile!: The requested call video properties.

sendSessionModifyResponse

Added in API level 23
abstract fun sendSessionModifyResponse(responseProfile: VideoProfile!): Unit

Provides a response to a request to change the current call video session properties. This should be called in response to a request the InCallService has received via VideoCall.Callback#onSessionModifyRequestReceived.

Handled by Connection.VideoProvider#onSendSessionModifyResponse(VideoProfile).

Parameters
responseProfile VideoProfile!: The response call video properties.

setCamera

Added in API level 23
abstract fun setCamera(cameraId: String!): Unit

Sets the camera to be used for the outgoing video.

Handled by Connection.VideoProvider#onSetCamera(String).

Parameters
cameraId String!: The id of the camera (use ids as reported by CameraManager#getCameraIdList()).

setDeviceOrientation

Added in API level 23
abstract fun setDeviceOrientation(rotation: Int): Unit

Sets the device orientation, in degrees. Assumes that a standard portrait orientation of the device is 0 degrees.

Handled by Connection.VideoProvider#onSetDeviceOrientation(int).

Parameters
rotation Int: The device orientation, in degrees.

setDisplaySurface

Added in API level 23
abstract fun setDisplaySurface(surface: Surface!): Unit

Sets the surface to be used for displaying the video received from the remote device.

Handled by Connection.VideoProvider#onSetDisplaySurface(Surface).

Parameters
surface Surface!: The Surface.

setPauseImage

Added in API level 23
abstract fun setPauseImage(uri: Uri!): Unit

Provides the Connection.VideoProvider with the Uri of an image to be displayed to the peer device when the video signal is paused.

Handled by Connection.VideoProvider#onSetPauseImage(Uri).

Parameters
uri Uri!: URI of image to display.

setPreviewSurface

Added in API level 23
abstract fun setPreviewSurface(surface: Surface!): Unit

Sets the surface to be used for displaying a preview of what the user's camera is currently capturing. When video transmission is enabled, this is the video signal which is sent to the remote device.

Handled by Connection.VideoProvider#onSetPreviewSurface(Surface).

Parameters
surface Surface!: The Surface.

setZoom

Added in API level 23
abstract fun setZoom(value: Float): Unit

Sets the camera zoom ratio.

Handled by Connection.VideoProvider#onSetZoom(float).

Parameters
value Float: The camera zoom ratio; for the current camera, should be a value in the range defined by android.hardware.camera2.CameraCharacteristics#CONTROL_ZOOM_RATIO_RANGE.

unregisterCallback

Added in API level 23
abstract fun unregisterCallback(callback: InCallService.VideoCall.Callback!): Unit

Clears the video call callback set via #registerCallback.

Parameters
callback InCallService.VideoCall.Callback!: The video call callback to clear.