ChannelMediaOptions

  • Android

更新时间不可用

配置频道中的媒体发布和订阅选项。

Java
public class ChannelMediaOptions {
  public Boolean publishCameraTrack;
  public Boolean publishSecondaryCameraTrack;
  public Boolean publishThirdCameraTrack;
  public Boolean publishFourthCameraTrack;
  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 publishMixedAudioTrack;
  public Boolean publishLipSyncTrack;
  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 audioDelayMs;
  public Integer mediaPlayerAudioDelayMs;
  public String token;
  public Boolean enableBuiltInMediaEncryption;
  public Boolean publishRhythmPlayerTrack;
  public Boolean isInteractiveAudience;
  public Integer customVideoTrackId;
  public Boolean isAudioFilterable;
  public Boolean startPreview;
  public String parameters;
  public Boolean enableMultipath;
  public Integer uplinkMultipathMode;
  public Integer downlinkMultipathMode;
  public Integer preferMultipathType;
}

支持在同一个 RtcConnection 中同时发布多个音频流和一个视频流。例如,可以同时启用 publishMicrophoneTrack、publishCustomAudioTrack 和 publishMediaPlayerAudioTrack,但 publishCameraTrack、publishScreenCaptureVideo、publishCustomVideoTrack 和 publishEncodedVideoTrack 中只能有一个设置为 true。

注: 建议你根据业务场景自行设置各成员参数值,否则 SDK 会自动分配默认值。

属性

参数名描述
publishCameraTrack

是否发布摄像头采集的视频:

  • true:发布摄像头采集的视频。
  • false:不发布摄像头采集的视频。
publishSecondaryCameraTrack

是否发布第二路摄像头采集的视频轨道:

  • true:发布第二路摄像头采集的视频轨道。
  • false:(默认)不发布第二路摄像头采集的视频轨道。
publishThirdCameraTrack

是否发布第三路摄像头采集的视频:

  • true:发布第三路摄像头采集的视频。
  • false:不发布第三路摄像头采集的视频。
publishFourthCameraTrack

是否发布第四路摄像头采集的视频:

  • true:发布第四路摄像头采集的视频。
  • false:不发布第四路摄像头采集的视频。
publishMicrophoneTrack

是否发布麦克风采集的音频:

  • true:发布麦克风采集的音频。
  • false:不发布麦克风采集的音频。
publishScreenCaptureVideo

注: 从 v4.0.0 起,参数由 publishScreenTrack 重命名为 publishScreenCaptureVideo。

是否发布屏幕采集的视频:

  • true:发布屏幕采集的视频。
  • false:不发布屏幕采集的视频。
publishScreenCaptureAudio

是否发布屏幕采集的音频:

  • true:发布屏幕采集的音频。
  • false:不发布屏幕采集的音频。
publishCustomAudioTrack

是否发布自定义音频源采集的音频:

  • true:发布自定义音频源采集的音频。
  • false:不发布自定义音频源采集的音频。
publishCustomAudioTrackId

要发布的自定义音频轨道的 ID。可通过 createCustomAudioTrack 方法获取该 ID。

publishCustomVideoTrack

是否发布自定义视频源采集的视频:

  • true:发布自定义视频源采集的视频。
  • false:不发布自定义视频源采集的视频。
publishEncodedVideoTrack

是否发布编码后的视频:

  • true:发布编码后的视频。
  • false:不发布编码后的视频。
publishMediaPlayerAudioTrack

是否发布媒体播放器的音频:

  • true:发布媒体播放器的音频。
  • false:不发布媒体播放器的音频。
publishMediaPlayerVideoTrack

是否发布媒体播放器的视频:

  • true:发布媒体播放器的视频。
  • false:不发布媒体播放器的视频。
publishTranscodedVideoTrack

是否发布本地转码后的视频轨道:

  • true:发布本地转码后的视频轨道。
  • false:(默认)不发布本地转码后的视频轨道。
publishMixedAudioTrack

是否发布音频合流轨道:

  • true:发布音频合流轨道。
  • false:不发布音频合流轨道。
publishLipSyncTrack

是否发布由语音驱动扩展处理后的视频轨道:

  • true:发布由语音驱动扩展处理后的视频轨道。
  • false:(默认)不发布由语音驱动扩展处理后的视频轨道。
autoSubscribeAudio

用户加入频道时是否自动订阅所有远端音频流:

  • true:订阅所有远端音频流。
  • false:不自动订阅任何远端音频流。
autoSubscribeVideo

用户加入频道时是否自动订阅所有远端视频流:

  • true:订阅所有远端视频流。
  • false:不自动订阅任何远端视频流。
enableAudioRecordingOrPlayout

注: 如果需要发布麦克风采集的音频流,请确保该参数设置为 true。

是否开启音频采集或播放功能:

  • true:开启音频采集或播放功能。
  • false:不开启音频采集或播放功能。
publishMediaPlayerId

要发布的媒体播放器的 ID。默认值为 0。

clientRoleType

注: 如果将用户角色设置为观众,则无法在频道中发布音视频流。若你希望在直播过程中发布媒体流,请确保将用户角色设置为主播。

用户角色类型:

  • CLIENT_ROLE_BROADCASTER (1):主播。
  • CLIENT_ROLE_AUDIENCE (2):观众。
audienceLatencyLevel

互动直播场景下观众的延迟等级:

  • AUDIENCE_LATENCY_LEVEL_LOW_LATENCY (1):低延迟。
  • AUDIENCE_LATENCY_LEVEL_ULTRA_LOW_LATENCY (2):超低延迟(默认)。
defaultVideoStreamType

默认的视频流类型:

  • VIDEO_STREAM_HIGH (0):视频大流,即高分辨率高码率的视频流。
  • VIDEO_STREAM_LOW (1):视频小流,即低分辨率低码率的视频流。
channelProfile

频道场景:

  • CHANNEL_PROFILE_COMMUNICATION (0):通信场景。声网推荐使用直播场景以获得更佳的音视频体验。
  • CHANNEL_PROFILE_LIVE_BROADCASTING (1):直播场景(默认)。
  • CHANNEL_PROFILE_GAME (2):游戏场景。
  • CHANNEL_PROFILE_CLOUD_GAMING (3):互动场景。该场景对延迟进行了优化,适用于用户之间需要频繁互动的场景。
audioDelayMs

发送音频帧的延迟(单位:毫秒)。你可以使用该参数设置发送音频帧的延迟,以实现音视频同步。如需关闭延迟,设置该值为 0。

mediaPlayerAudioDelayMs

发送媒体播放器音频帧的延迟(单位:毫秒),用于显式控制音视频同步。如需关闭延迟,设置该值为 0。

token

(可选)由你的服务器生成的用于鉴权的 Token。

注: 该参数仅在调用 updateChannelMediaOptions 或 updateChannelMediaOptionsEx 时生效。请确保用于生成 token 的 App ID、频道名和用户名称与调用 create 初始化 RTC 引擎,以及调用 joinChannel 和 joinChannelEx 加入频道时使用的值一致。

enableBuiltInMediaEncryption

注: 调用 updateChannelMediaOptions 方法时将忽略此设置。

是否启用媒体包加密:

  • true:启用媒体包加密。
  • false:(默认)不启用媒体包加密。
publishRhythmPlayerTrack

是否向远端用户发布节拍器的声音:

  • true:发布处理后的音频帧,本地用户和远端用户都能听到节拍器。
  • false:不发布节拍器的声音,只有本地用户能听到节拍器。
isInteractiveAudience

注: 该参数仅适用于主播互通场景。联播主播需调用 joinChannelEx 方法以观众身份加入其他主播频道,并将 isInteractiveAudience 设置为 true。 该参数仅在用户角色为 CLIENT_ROLE_AUDIENCE 时生效。

是否开启互动模式:

  • true:开启互动模式。
  • false:不开启互动模式。
customVideoTrackId

通过调用 createCustomVideoTrack 方法返回的视频轨道 ID。默认值为 0。

isAudioFilterable

注: 如需启用该功能,请联系技术支持

发布的音频流是否根据音量算法进行过滤:

  • true:音频流会被过滤。
  • false:音频流不会被过滤。
startPreview

在已设置画布时,加入频道时是否启动预览:

  • true:(默认)加入频道时启动预览。
  • false:不启动预览。
enableMultipath

注: 权限与系统要求:Android 7.0 或更高版本(API 等级 24 或更高),需要 ACCESS_NETWORK_STATE 和 CHANGE_NETWORK_STATE 权限。

是否启用多传输路径:

  • true:启用多传输路径。
  • false:禁用多传输路径。
preferMultipathType

首选的传输路径类型。详见 MultipathType。

注: 使用该参数时,需确保 enableMultipath 设置为 true。

表格内容超出当前宽度,可横向滚动查看更多列。

这个页面有帮助吗?