ChannelMediaOptions
The channel media options.
public class ChannelMediaOptions { public Boolean publishCameraTrack; public Boolean publishSecondaryCameraTrack; public Boolean publishMicrophoneTrack; public Boolean publishScreenCaptureVideo; public Boolean publishScreenCaptureAudio; public Boolean publishCustomAudioTrack; public Integer publishCustomAudioTrackId; public Boolean publishCustomVideoTrack; public Boolean publishEncodedVideoTrack; public Boolean publishMediaPlayerAudioTrack; public Boolean publishMediaPlayerVideoTrack; public Boolean publishTranscodedVideoTrack; public Boolean autoSubscribeAudio; public Boolean autoSubscribeVideo; public Boolean enableAudioRecordingOrPlayout; public Integer publishMediaPlayerId; public Integer clientRoleType; public Integer audienceLatencyLevel; public Integer defaultVideoStreamType; public Integer channelProfile; public Integer mediaPlayerAudioDelayMs; public String token; public Boolean enableBuiltInMediaEncryption; public Boolean publishRhythmPlayerTrack; public Boolean isInteractiveAudience; public Integer customVideoTrackId; public Boolean isAudioFilterable; }
true
at the same time, but only one of publishCameraTrack, publishScreenCaptureVideo, publishCustomVideoTrack, or publishEncodedVideoTrack can be set as true
.Attention: Agora recommends that you set member parameter values yourself according to your business scenario, otherwise the SDK will automatically assign values to member parameters.
Attributes
- publishCameraTrack
- Whether to publish the video captured by the camera:
true
: Publish the video captured by the camera.false
: Do not publish the video captured by the camera.
- publishMicrophoneTrack
- Whether to publish the audio captured by the microphone:
true
: Publish the audio captured by the microphone.false
: Do not publish the audio captured by the microphone.
- publishScreenCaptureVideo
-
Whether to publish the video captured from the screen:
true
: Publish the video captured from the screen.false
: Do not publish the video captured from the screen.
Note: As of v4.0.0, the parameter name is changed from publishScreenTrack to publishScreenCaptureVideo. - publishScreenCaptureAudio
-
Whether to publish the audio captured from the screen:
true
: Publish the audio captured from the screen.false
: Publish the audio captured from the screen.
- publishCustomAudioTrack
- Whether to publish the audio captured from a custom source:
true
: Publish the audio captured from the custom source.false
: Do not publish the captured audio from a custom source.
- publishCustomAudioTrackId
- The ID of the custom audio source to publish. The default value is 0.
If you have set sourceNumber in setExternalAudioSource [2/2] to a value greater than 1, the SDK creates the corresponding number of custom audio tracks and assigns an ID to each audio track, starting from 0.
- publishCustomVideoTrack
- Whether to publish the video captured from a custom source:
true
: Publish the video captured from the custom source.false
: Do not publish the captured video from a custom source.
- publishEncodedVideoTrack
- Whether to publish the encoded video:
true
: Publish the encoded video.false
: Do not publish the encoded video.
- publishMediaPlayerAudioTrack
- Whether to publish the audio from the media player:
true
: Publish the audio from the media player.false
: Do not publish the audio from the media player.
- publishMediaPlayerVideoTrack
- Whether to publish the video from the media player:
true
: Publish the video from the media player.false
: Do not publish the video from the media player.
- autoSubscribeAudio
- Whether to automatically subscribe to all remote audio streams when the user joins a channel:
true
: Subscribe to all remote audio streams.false
: Do not automatically subscribe to any remote audio streams.
- autoSubscribeVideo
- Whether to automatically subscribe to all remote video streams when the user joins the channel:
true
: Subscribe to all remote video streams.false
: Do not automatically subscribe to any remote video streams.
- enableAudioRecordingOrPlayout
- Whether to enable audio capturing or playback:
true
: Enable audio capturing or playback.false
: Do not enable audio capturing or playback.
Note: If you need to publish the audio streams captured by your microphone, ensure this parameter is set astrue
. - publishMediaPlayerId
- The ID of the media player to be published. The default value is 0.
- clientRoleType
-
The user role:
- CLIENT_ROLE_BROADCASTER(1): Host.
- CLIENT_ROLE_AUDIENCE(2): Audience.
Note: If you set the user role as an audience member, you cannot publish audio and video streams in the channel. If you want to publish media streams in a channel during live streaming, ensure you set the user role as broadcaster. - audienceLatencyLevel
- The latency level of an audience member in interactive live streaming.
- AUDIENCE_LATENCY_LEVEL_LOW_LATENCY(1): Low latency.
- AUDIENCE_LATENCY_LEVEL_ULTRA_LOW_LATENCY(2): (Default) Ultra low latency.
- defaultVideoStreamType
-
The default video-stream type:
- VIDEO_STREAM_HIGH(0): High-quality stream, that is, a high-resolution and high-bitrate video stream.
- VIDEO_STREAM_LOW(1): Low-quality stream, that is, a low-resolution and low-bitrate video stream.
- channelProfile
-
The channel profile.
- CHANNEL_PROFILE_COMMUNICATION(0): Communication. Agora recommends using the live streaming profile for a better audio and video experience.
- CHANNEL_PROFILE_LIVE_BROADCASTING(1): (Default) Live streaming.
- CHANNEL_PROFILE_GAME(2): Gaming.
- Deprecated:
- Use CHANNEL_PROFILE_LIVE_BROADCASTING instead.
- CHANNEL_PROFILE_CLOUD_GAMING(3): Interaction. The scenario is optimized for latency. Use this profile if the use case requires frequent interactions between users.
- Deprecated:
- Use CHANNEL_PROFILE_LIVE_BROADCASTING instead.
- token
-
(Optional) The token generated on your server for authentication. See .
CAUTION:- This parameter takes effect only when calling updateChannelMediaOptions or updateChannelMediaOptionsEx.
- Ensure that the App ID, channel name, and user name used for creating the token are the same as those used by the create [2/2] method for initializing the RTC engine, and those used by the joinChannel [2/2] and joinChannelEx methods for joining the channel.
- publishRhythmPlayerTrack
- Whether to publish the sound of a metronome to remote users:
true
: Publish processed audio frames. Both the local user and remote users can hear the metronome.false
: Do not publish the sound of the metronome. Only the local user can hear the metronome.
- isInteractiveAudience
- Whether to enable interactive mode:
true
: Enable interactive mode. Once this mode is enabled and the user role is set as audience, the user can receive remote video streams with low latency.false
:Do not enable interactive mode. If this mode is disabled, the user receives the remote video streams in default settings.
Attention:- This parameter only applies to co-streaming scenarios. The cohosts need to call the joinChannelEx method to join the other host's channel as an audience member, and set isInteractiveAudience to
true
. - This parameter takes effect only when the user role is CLIENT_ROLE_AUDIENCE.
- customVideoTrackId
- The video track ID returned by calling the createCustomVideoTrack method. The default value is 0.
- isAudioFilterable
- Whether the audio stream being published is filtered according to the volume algorithm:
true
: The audio stream is filtered. If the audio stream filter is not enabled, this setting does not takes effect.false
: The audio stream is not filtered.
Attention: If you need to enable this function, contact support@agora.io.