Agora Java API Reference for Android

Public Member Functions | Public Attributes | List of all members
io.agora.rtc2.ChannelMediaOptions Class Reference

## Public Member Functions
| ChannelMediaOptions (Integer clientRoleType)
Boolean | isPublishCameraTrack ()
Boolean | isPublishSecondaryCameraTrack ()
Boolean | isPublishThirdCameraTrack ()
Boolean | isPublishFourthCameraTrack ()
Boolean | isPublishScreenCaptureVideo ()
Boolean | isPublishScreenCaptureAudio ()
Boolean | isPublishCustomAudioTrack ()
Boolean | isPublishCustomVideoTrack ()
Boolean | isPublishEncodedVideoTrack ()
Boolean | isPublishMediaPlayerAudioTrack ()
Boolean | isPublishMediaPlayerVideoTrack ()
Boolean | isPublishTranscodedVideoTrack ()
Boolean | isPublishMixedAudioTrack ()
Boolean | isPublishLipSyncTrack ()
Integer | getPublishMediaPlayerId ()
Boolean | isPublishMicrophoneTrack ()
Boolean | isAutoSubscribeAudio ()
Boolean | isAutoSubscribeVideo ()
Boolean | isStartPreview ()
Boolean | isEnableAudioRecordingOrPlayout ()
Integer | getClientRoleType ()
Integer | getAudienceLatencyLevel ()
Integer | getDefaultVideoStreamType ()
Integer | getChannelProfile ()
Integer | getAudioDelayMs ()
Integer | getMediaPlayerAudioDelayMs ()
String | getToken ()
Boolean | isEnableBuiltInMediaEncryption ()
Boolean | getPublishRhythmPlayerTrack ()
Boolean | getIsAudioFilterable ()
Integer | getPublishCustomAudioTrackId ()
Integer | getCustomVideoTrackId ()
Boolean | isInteractiveAudience ()
String | getParameters ()
String | toString ()

## Public Attributes
Boolean | publishCameraTrack
Boolean | publishSecondaryCameraTrack
Boolean | publishThirdCameraTrack
Boolean | publishFourthCameraTrack
Boolean | publishMicrophoneTrack
Boolean | publishScreenCaptureVideo
Boolean | publishScreenCaptureAudio
Boolean | publishCustomAudioTrack
Integer | publishCustomAudioTrackId
Boolean | publishCustomVideoTrack
Boolean | publishEncodedVideoTrack
Boolean | publishMediaPlayerAudioTrack
Boolean | publishMediaPlayerVideoTrack
Boolean | publishTranscodedVideoTrack
Boolean | publishMixedAudioTrack
Boolean | publishLipSyncTrack
Boolean | autoSubscribeAudio
Boolean | autoSubscribeVideo
Boolean | enableAudioRecordingOrPlayout
Integer | publishMediaPlayerId
Integer | clientRoleType
Integer | audienceLatencyLevel
Integer | defaultVideoStreamType
Integer | channelProfile
Integer | audioDelayMs
Integer | mediaPlayerAudioDelayMs
String | token
Boolean | enableBuiltInMediaEncryption
Boolean | publishRhythmPlayerTrack
Boolean | isInteractiveAudience
Integer | customVideoTrackId
Boolean | isAudioFilterable
Boolean | startPreview
String | parameters

## Detailed Description

The channel media options.

## Member Data Documentation

## ◆ publishCameraTrack

Boolean io.agora.rtc2.ChannelMediaOptions.publishCameraTrack

Determines whether to publish the video of the camera track.

- true: (Default) Publish the video track of the camera capturer.
- false: Do not publish the video track of the camera capturer.

## ◆ publishSecondaryCameraTrack

Boolean io.agora.rtc2.ChannelMediaOptions.publishSecondaryCameraTrack

Determines whether to publish the video of the secondary camera track.

- true: Publish the video track of the secondary camera capturer.
- false: (Default) Do not publish the video track of the secondary camera capturer.

## ◆ publishThirdCameraTrack

Boolean io.agora.rtc2.ChannelMediaOptions.publishThirdCameraTrack

Whether to publish the video of the third camera track.

- `true`: Publish the video track of the third camera capturer.
- `false`: (Default) Do not publish the video track of the third camera capturer.

## ◆ publishFourthCameraTrack

Boolean io.agora.rtc2.ChannelMediaOptions.publishFourthCameraTrack

Whether to publish the video of the fourth camera track.

- `true`: Publish the video track of the fourth camera capturer.
- `false`: (Default) Do not publish the video track of the fourth camera capturer.

## ◆ publishMicrophoneTrack

Boolean io.agora.rtc2.ChannelMediaOptions.publishMicrophoneTrack

Determines whether to publish the recorded audio of microphone. This method replaces calling muteLocalAudioStream before joining a channel.

- true: (Default) Publish the recorded audio of microphone.
- false: Do not publish the recorded audio of microphone.

## ◆ publishScreenCaptureVideo

Boolean io.agora.rtc2.ChannelMediaOptions.publishScreenCaptureVideo

Determines whether to publish the video track of the capturer .

- true: Publish the video track of the screen capturer.
- false: (Default) Do not publish the video track of the screen capturer.

## ◆ publishScreenCaptureAudio

Boolean io.agora.rtc2.ChannelMediaOptions.publishScreenCaptureAudio

Determines whether to publish the audio track of the screen capturer.

- true: Publish the audio track of the screen capturer.
- false: (Default) Do not publish the audio track of the screen capturer.

## ◆ publishCustomAudioTrack

Boolean io.agora.rtc2.ChannelMediaOptions.publishCustomAudioTrack

Determines whether to publish the audio of the custom audio track.

- true: Publish the audio of the custom audio track.
- false: (Default) Do not publish the audio of the custom audio track.

## ◆ publishCustomAudioTrackId

Integer io.agora.rtc2.ChannelMediaOptions.publishCustomAudioTrackId

The custom audio track id. The default value is 0.

## ◆ publishCustomVideoTrack

Boolean io.agora.rtc2.ChannelMediaOptions.publishCustomVideoTrack

Determines whether to publish the video of the custom video track.

- true: Publish the video of the custom video track.
- false: (Default) Do not publish the video of the custom video track.

## ◆ publishEncodedVideoTrack

Boolean io.agora.rtc2.ChannelMediaOptions.publishEncodedVideoTrack

Determines whether to publish the video of the encoded video track.

- true: Publish the video of the encoded video track.
- false: (Default) Do not publish the video of the encoded video track.

## ◆ publishMediaPlayerAudioTrack

Boolean io.agora.rtc2.ChannelMediaOptions.publishMediaPlayerAudioTrack

Determines whether to publish the audio track of media player source.

- true: Publish the audio track of media player source.
- false: (Default) Do not publish the audio track of media player source.

## ◆ publishMediaPlayerVideoTrack

Boolean io.agora.rtc2.ChannelMediaOptions.publishMediaPlayerVideoTrack

Determines whether to publish the video track of media player source.

- true: Publish the video track of media player source.
- false: (Default) Do not publish the video track of media player source.

## ◆ publishTranscodedVideoTrack

Boolean io.agora.rtc2.ChannelMediaOptions.publishTranscodedVideoTrack

Whether to publish the local transcoded video track.

- `true`: Publish the video track of local transcoded video track.
- `false`: (Default) Do not publish the local transcoded video track.

## ◆ publishMixedAudioTrack

Boolean io.agora.rtc2.ChannelMediaOptions.publishMixedAudioTrack

Whether to publish the local mixed audio track.

- `true`: Publish the audio track of local mixed audio track.
- `false`: (Default) Do not publish the local mixed audio track.

## ◆ publishLipSyncTrack

Boolean io.agora.rtc2.ChannelMediaOptions.publishLipSyncTrack

Whether to publish the local lip sync video track.

- `true`: Publish the video track of local lip sync video track.
- `false`: (Default) Do not publish the local lip sync video track.

## ◆ autoSubscribeAudio

Boolean io.agora.rtc2.ChannelMediaOptions.autoSubscribeAudio

Determines whether to subscribe all remote audio streams automatically.

- true: (Default) Subscribe all remote audio streams automatically.
- false: Do not subscribe any remote audio stream automatically.

## ◆ autoSubscribeVideo

Boolean io.agora.rtc2.ChannelMediaOptions.autoSubscribeVideo

Determines whether to subscribe all remote video streams automatically.

- True: (Default) Subscribe all remote video streams automatically.
- False: Do not subscribe any remote video stream automatically.

## ◆ enableAudioRecordingOrPlayout

Boolean io.agora.rtc2.ChannelMediaOptions.enableAudioRecordingOrPlayout

Determines whether to enable audio recording or playout.

- true: (Default) It's used to publish audio and mix microphone, or subscribe audio and playout
- false: It's used to publish extenal audio frame only without mixing microphone, or no need audio device to playout audio either.

## ◆ publishMediaPlayerId

Integer io.agora.rtc2.ChannelMediaOptions.publishMediaPlayerId

Determines which media player source should be published. This parameter get from function getMediaPlayerId() of AgoraMediaPlayer.

## ◆ clientRoleType

Integer io.agora.rtc2.ChannelMediaOptions.clientRoleType

The client role type:

- `CLIENT_ROLE_BROADCASTER`(1): The broadcaster, who can both send and receive streams.
- `CLIENT_ROLE_AUDIENCE`(2): (Default) The audience, who can only receive streams.

## ◆ audienceLatencyLevel

Integer io.agora.rtc2.ChannelMediaOptions.audienceLatencyLevel

The audience latency level type:

- `AUDIENCE_LATENCY_LEVEL_LOW_LATENCY`(1): Low latency. A low latency audience's play out latency is 1.5 second.
- `AUDIENCE_LATENCY_LEVEL_ULTRA_LOW_LATENCY`(2): (Default) Ultra low latency. An ultra low latency audience's play out latency is 0.5 second.

## ◆ defaultVideoStreamType

Integer io.agora.rtc2.ChannelMediaOptions.defaultVideoStreamType

The default video stream type to subscribe to:

- `VIDEO_STREAM_HIGH`(0): (Default) The high-stream video, that is, the video stream featuring in high resolution and high bitrate.
- `VIDEO_STREAM_LOW`(1): The low-stream video, that is, the video stream featuring in low resolution and low bitrate.

## ◆ channelProfile

Integer io.agora.rtc2.ChannelMediaOptions.channelProfile

The channel profile:

- `CHANNEL_PROFILE_COMMUNICATION`(0): Communication. Use this profile in one-on-one calls or group calls, where all users can talk freely.
- `CHANNEL_PROFILE_LIVE_BROADCASTING`(1): (Default) Live Broadcast. Users in a live-broadcast channel has a role as either broadcaster or audience. A broadcaster can both send and receive streams; an audience can only receive streams.

## ◆ audioDelayMs

Integer io.agora.rtc2.ChannelMediaOptions.audioDelayMs

The delay in ms for sending audio frames. This is used for explicit control of A/V sync. To switch off the delay, set the value to zero.

## ◆ mediaPlayerAudioDelayMs

Integer io.agora.rtc2.ChannelMediaOptions.mediaPlayerAudioDelayMs

The delay in ms for sending media player audio frames. This is used for explicit control of A/V sync. To switch off the delay, set the value to zero.

## ◆ token

String io.agora.rtc2.ChannelMediaOptions.token

The token to be renewed.

## ◆ enableBuiltInMediaEncryption

Boolean io.agora.rtc2.ChannelMediaOptions.enableBuiltInMediaEncryption

Enable media packet encryption. It will be ignored when calling function updateChannelMediaOptions().

- true: Enable media packet encryption.
- false: (Default) Do not Enable media packet encryption.

## ◆ publishRhythmPlayerTrack

Boolean io.agora.rtc2.ChannelMediaOptions.publishRhythmPlayerTrack

Determines whether to publish the sound of the rhythm player to remote users.

- true: (Default) Publish the sound of the rhythm player.
- false: Do not publish the sound of the rhythm player.

## ◆ isInteractiveAudience

Boolean io.agora.rtc2.ChannelMediaOptions.isInteractiveAudience

This mode is only used for audience. In PK mode, client might join one channel as broadcaster, and join another channel as interactive audience to achieve low lentancy and smooth video from remote user.

- true: Enable low lentancy and smooth video when joining as an audience.
- false: (default) Use default settings for audience role.

## ◆ customVideoTrackId

Integer io.agora.rtc2.ChannelMediaOptions.customVideoTrackId

The custom video track id which will used to publish or preview.

## ◆ isAudioFilterable

Boolean io.agora.rtc2.ChannelMediaOptions.isAudioFilterable

Determines whether local audio stream can be filtered.

- true: (Default) Can be filtered when audio level is low.
- false: Do not filter this audio stream.

## ◆ startPreview

Boolean io.agora.rtc2.ChannelMediaOptions.startPreview

Determines whether to start preview when join channel if canvas have been set.

- true: (Default) Start preview when join channel.
- false: Do not start preview.

## ◆ parameters

String io.agora.rtc2.ChannelMediaOptions.parameters

Provides the technical preview functionalities or special customizations by configuring the SDK with JSON options. @technical preview