ChannelMediaOptions
配置频道中的媒体发布和订阅选项。
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
信息
自 v4.x.x 版本废弃。请改用 CHANNEL_PROFILE_LIVE_BROADCASTING。
- 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
startPreview
在已设置画布时,加入频道时是否启动预览:
true:(默认)加入频道时启动预览。false:不启动预览。
parameters
通过配置 JSON 选项以启用技术预览功能或特殊定制。
enableMultipath
信息
权限与系统要求:Android 7.0 或更高版本(API 等级 24 或更高),需要
ACCESS_NETWORK_STATE 和 CHANGE_NETWORK_STATE 权限。- true:启用多传输路径。
- false:禁用多传输路径。
uplinkMultipathMode
上行传输模式。详见 MultipathMode。
信息
使用该参数时,需确保
enableMultipath 设置为 true。downlinkMultipathMode
下行传输模式。详见 MultipathMode。
信息
使用该参数时,需确保
enableMultipath 设置为 true。preferMultipathType
首选的传输路径类型。详见 MultipathType。
信息
使用该参数时,需确保
enableMultipath 设置为 true。