io.agora.rtc

## Class RtcConnPublishConfig

- java.lang.Object
- - io.agora.rtc.RtcConnPublishConfig

-     public class RtcConnPublishConfig
      extends java.lang.Object

  Configuration for RTC connection publishing.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private int` | `audioProfile` Audio profile
    `private Constants.AudioPublishType` | `audioPublishType` Audio publish type
    `private int` | `audioScenario` Audio scenario
    `private boolean` | `isPublishAudio` Whether to publish audio
    `private boolean` | `isPublishVideo` Whether to publish video
    `private SenderOptions` | `senderOptions` Sender options
    `private SendExternalAudioParameters` | `sendExternalAudioParameters` Parameters for sending external audio with limited send speed for AI scenario.
    `private Constants.VideoPublishType` | `videoPublishType` Video publish type

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `RtcConnPublishConfig()` Default constructor for RtcConnPublishConfig.
    `RtcConnPublishConfig(RtcConnPublishConfig other)` Copy constructor for RtcConnPublishConfig.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `getAudioProfile()` Gets the audio profile.
    `Constants.AudioPublishType` | `getAudioPublishType()` Gets the audio publish type.
    `int` | `getAudioScenario()` Gets the audio scenario.
    `SenderOptions` | `getSenderOptions()` Gets the sender options.
    `SendExternalAudioParameters` | `getSendExternalAudioParameters()` Gets the send external audio parameters.
    `Constants.VideoPublishType` | `getVideoPublishType()` Gets the video publish type.
    `boolean` | `isPublishAudio()` Checks whether to publish audio.
    `boolean` | `isPublishVideo()` Checks whether to publish video.
    `void` | `setAudioProfile(int audioProfile)` Sets the audio profile.
    `void` | `setAudioPublishType(Constants.AudioPublishType audioPublishType)` Sets the audio publish type.
    `void` | `setAudioScenario(int audioScenario)` Sets the audio scenario.
    `void` | `setIsPublishAudio(boolean isPublishAudio)` Sets whether to publish audio.
    `void` | `setIsPublishVideo(boolean isPublishVideo)` Sets whether to publish video.
    `void` | `setSenderOptions(SenderOptions senderOptions)` Sets the sender options.
    `void` | `setSendExternalAudioParameters(SendExternalAudioParameters sendExternalAudioParameters)` Sets the send external audio parameters.
    `void` | `setVideoPublishType(Constants.VideoPublishType videoPublishType)` Sets the video publish type.
    `java.lang.String` | `toString()`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### audioProfile

          private int audioProfile

      Audio profile

    - #### audioScenario

          private int audioScenario

      Audio scenario

    - #### isPublishAudio

          private boolean isPublishAudio

      Whether to publish audio

    - #### isPublishVideo

          private boolean isPublishVideo

      Whether to publish video

    - #### audioPublishType

          private Constants.AudioPublishType audioPublishType

      Audio publish type

    - #### videoPublishType

          private Constants.VideoPublishType videoPublishType

      Video publish type

    - #### senderOptions

          private SenderOptions senderOptions

      Sender options

    - #### sendExternalAudioParameters

          private SendExternalAudioParameters sendExternalAudioParameters

      Parameters for sending external audio with limited send speed for AI scenario. Only for send external audio and limited send speed for AI scenario. Default to false. If you want to use this feature, should set the enabled to true, and set the SendMs and Speed. For this case, recommend to set SendMs to 500, and Speed to 2.
      See Also:
        `SendExternalAudioParameters`

  - ### Constructor Detail

    - #### RtcConnPublishConfig

          public RtcConnPublishConfig()

      Default constructor for RtcConnPublishConfig.

    - #### RtcConnPublishConfig

          public RtcConnPublishConfig(RtcConnPublishConfig other)

      Copy constructor for RtcConnPublishConfig.
      Parameters:
        `other` - Another RtcConnPublishConfig instance to copy from

  - ### Method Detail

    - #### getAudioProfile

          public int getAudioProfile()

      Gets the audio profile.
      Returns:
        Audio profile

    - #### setAudioProfile

          public void setAudioProfile(int audioProfile)

      Sets the audio profile.
      Parameters:
        `audioProfile` - Audio profile

    - #### getAudioScenario

          public int getAudioScenario()

      Gets the audio scenario.
      Returns:
        Audio scenario

    - #### setAudioScenario

          public void setAudioScenario(int audioScenario)

      Sets the audio scenario.
      Parameters:
        `audioScenario` - Audio scenario

    - #### isPublishAudio

          public boolean isPublishAudio()

      Checks whether to publish audio.
      Returns:
        true if publishing audio, false otherwise

    - #### setIsPublishAudio

          public void setIsPublishAudio(boolean isPublishAudio)

      Sets whether to publish audio.
      Parameters:
        `isPublishAudio` - true to publish audio, false otherwise

    - #### isPublishVideo

          public boolean isPublishVideo()

      Checks whether to publish video.
      Returns:
        true if publishing video, false otherwise

    - #### setIsPublishVideo

          public void setIsPublishVideo(boolean isPublishVideo)

      Sets whether to publish video.
      Parameters:
        `isPublishVideo` - true to publish video, false otherwise

    - #### getAudioPublishType

          public Constants.AudioPublishType getAudioPublishType()

      Gets the audio publish type.
      Returns:
        Audio publish type

    - #### setAudioPublishType

          public void setAudioPublishType(Constants.AudioPublishType audioPublishType)

      Sets the audio publish type.
      Parameters:
        `audioPublishType` - Audio publish type

    - #### getVideoPublishType

          public Constants.VideoPublishType getVideoPublishType()

      Gets the video publish type.
      Returns:
        Video publish type

    - #### setVideoPublishType

          public void setVideoPublishType(Constants.VideoPublishType videoPublishType)

      Sets the video publish type.
      Parameters:
        `videoPublishType` - Video publish type

    - #### getSenderOptions

          public SenderOptions getSenderOptions()

      Gets the sender options.
      Returns:
        Sender options

    - #### setSenderOptions

          public void setSenderOptions(SenderOptions senderOptions)

      Sets the sender options.
      Parameters:
        `senderOptions` - Sender options

    - #### getSendExternalAudioParameters

          public SendExternalAudioParameters getSendExternalAudioParameters()

      Gets the send external audio parameters.
      Returns:
        Send external audio parameters

    - #### setSendExternalAudioParameters

          public void setSendExternalAudioParameters(SendExternalAudioParameters sendExternalAudioParameters)

      Sets the send external audio parameters.
      Parameters:
        `sendExternalAudioParameters` - Send external audio parameters

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`