ChannelMediaOptions
频道媒体设置选项。
C#
public class ChannelMediaOptions : OptionalJsonParse
{
public Optional<bool> publishCameraTrack = new Optional<bool>();
public Optional<bool> publishSecondaryCameraTrack = new Optional<bool>();
public Optional<bool> publishThirdCameraTrack = new Optional<bool>();
public Optional<bool> publishFourthCameraTrack = new Optional<bool>();
public Optional<bool> publishMicrophoneTrack = new Optional<bool>();
public Optional<bool> publishScreenCaptureVideo = new Optional<bool>();
public Optional<bool> publishScreenCaptureAudio = new Optional<bool>();
public Optional<bool> publishScreenTrack = new Optional<bool>();
public Optional<bool> publishSecondaryScreenTrack = new Optional<bool>();
public Optional<bool> publishThirdScreenTrack = new Optional<bool>();
public Optional<bool> publishFourthScreenTrack = new Optional<bool>();
public Optional<bool> publishCustomAudioTrack = new Optional<bool>();
public Optional<int> publishCustomAudioTrackId = new Optional<int>();
public Optional<bool> publishCustomVideoTrack = new Optional<bool>();
public Optional<bool> publishEncodedVideoTrack = new Optional<bool>();
public Optional<bool> publishMediaPlayerAudioTrack = new Optional<bool>();
public Optional<bool> publishMediaPlayerVideoTrack = new Optional<bool>();
public Optional<bool> publishTranscodedVideoTrack = new Optional<bool>();
public Optional<bool> publishLipSyncTrack = new Optional<bool>();
public Optional<bool> autoSubscribeAudio = new Optional<bool>();
public Optional<bool> autoSubscribeVideo = new Optional<bool>();
public Optional<bool> enableAudioRecordingOrPlayout = new Optional<bool>();
public Optional<int> publishMediaPlayerId = new Optional<int>();
public Optional<CLIENT_ROLE_TYPE> clientRoleType = new Optional<CLIENT_ROLE_TYPE>();
public Optional<AUDIENCE_LATENCY_LEVEL_TYPE> audienceLatencyLevel = new Optional<AUDIENCE_LATENCY_LEVEL_TYPE>();
public Optional<VIDEO_STREAM_TYPE> defaultVideoStreamType = new Optional<VIDEO_STREAM_TYPE>();
public Optional<CHANNEL_PROFILE_TYPE> channelProfile = new Optional<CHANNEL_PROFILE_TYPE>();
public Optional<string> token = new Optional<string>();
public Optional<bool> publishRhythmPlayerTrack = new Optional<bool>();
public Optional<bool> isInteractiveAudience = new Optional<bool>();
public Optional<video_track_id_t> customVideoTrackId = new Optional<video_track_id_t>();
public Optional<bool> isAudioFilterable = new Optional<bool>();
}
RtcConnection publishMicrophoneTrack publishCustomAudioTrack publishMediaPlayerAudioTrack true publishCameraTrack publishScreenCaptureVideo、 publishScreenTrack、 publishCustomVideoTrack publishEncodedVideoTrack true
信息
建议你根据业务场景自行设置成员参数值,否则 SDK 会自动对成员参数进行赋值。
publishCameraTrack
设置是否发布摄像头采集的视频:
- true:发布摄像头采集的视频。
- false:不发布摄像头采集的视频。
publishSecondaryCameraTrack
设置是否发布第二个摄像头采集的视频:
- true:发布第二个摄像头采集的视频。
- false:不发布第二个摄像头采集的视频。
publishMicrophoneTrack
设置是否发布麦克风采集到的音频:
- true:发布麦克风采集到的音频。
- false:不发布麦克风采集到的音频。
publishThirdCameraTrack
信息
该参数仅适用于 Android、Windows 和 macOS 平台。
- true:发布第三个摄像头采集的视频。
- false:不发布第三个摄像头采集的视频。
publishFourthCameraTrack
信息
该参数仅适用于 Android、Windows 和 macOS 平台。
- true:发布第四个摄像头采集的视频。
- false:不发布第四个摄像头采集的视频。
publishScreenTrack
信息
该参数仅适用于 Windows 和 macOS 平台。
- true:发布屏幕采集到的视频。
- false:不发布屏幕采集到的视频。
publishScreenCaptureVideo
信息
该参数仅适用于 Android 和 iOS 平台。
- true:发布屏幕采集到的视频。
- false:不发布屏幕采集到的视频。
publishScreenCaptureAudio
信息
该参数仅适用于 Android 和 iOS 平台。
- true:发布屏幕采集到的音频。
- false:不发布屏幕采集到的音频。
publishSecondaryScreenTrack
设置是否发布第二个屏幕采集的视频:
- true:发布第二个屏幕采集到的视频。
- false:不发布第二个屏幕采集到的视频。
publishThirdScreenTrack
信息
该参数仅适用于 Windows 和 macOS 平台。
- true:发布第三个屏幕采集到的视频。
- false:不发布第三个屏幕采集到的视频。
publishFourthScreenTrack
信息
该参数仅适用于 Windows 和 macOS 平台。
- true:发布第四个屏幕采集到的视频。
- false:不发布第四个屏幕采集到的视频。
publishTranscodedVideoTrack
设置是否发布本地的转码视频:
- true:发布本地的转码视频。
- false:不发布本地的转码视频。
publishMixedAudioTrack
设置是否发布本地混音音频:
- true:发布本地混音音频。
- false:不发布本地混音音频。
publishLipSyncTrack
设置是否发布语音驱动插件处理后的视频:
- true:发布语音驱动插件处理后的视频。
- false:(默认)不发布语音驱动插件处理后的视频。
publishCustomAudioTrack
设置是否发布自定义采集的音频:
- true:发布自定义采集到的音频。
- false:不发布自定义采集到的音频。
publishCustomAudioTrackId
待发布的自定义音频轨道的 ID,默认值为 0。你可以通过 CreateCustomAudioTrack 方法来获取自定义音频轨道 ID。
publishCustomVideoTrack
设置是否发布自定义采集的视频:
- true:发布自定义采集的视频。
- false:不发布自定义采集到的视频。
publishEncodedVideoTrack
设置是否发布编码后的视频:
- true:发布编码后的视频 。
- false:不发布编码后的视频。
publishMediaPlayerAudioTrack
设置是否发布媒体播放器的音频:
- true:发布媒体播放器的音频。
- false:不发布媒体播放器的音频。
publishMediaPlayerVideoTrack
设置是否发布媒体播放器的视频:
- true:发布媒体播放器的视频。
- false:不发布媒体播放器的视频。
autoSubscribeAudio
设置是否自动订阅所有音频流:
- true:自动订阅所有音频流。
- false:不自动订阅任何音频流。
autoSubscribeVideo
设置是否自动订阅所有视频流:
- true:自动订阅所有视频流。
- false:不自动订阅任何视频流。
enableAudioRecordingOrPlayout
信息
如果那你需要发布麦克风采集的音频流,请确保该参数设为 true。
- true:开启音频录制或播放。
- false:不开启音频录制或播放。
publishMediaPlayerId
待发布的媒体播放器的 ID。默认值为 0。
clientRoleType
用户角色。详见 CLIENT_ROLE_TYPE。
信息
角色为观众的用户无法在频道内发布音视频流。在直播场景下发流时,请确保你的用户角色已切换为主播。
audienceLatencyLevel
观众端延时级别。详见 AUDIENCE_LATENCY_LEVEL_TYPE。
defaultVideoStreamType
默认订阅的视频流类型: VIDEO_STREAM_TYPE。
channelProfile
频道使用场景。详见 CHANNEL_PROFILE_TYPE。
audioDelayMs
发送音频帧的延时(毫秒)。你可以通过该参数来设置需要发送的音频帧的延时,以确保音画同步。 如果要关闭延时,将此参数值设置为 0。
token
(可选)在服务端生成的用于鉴权的动态密钥。详见使用 Token 鉴权。
信息
- 该参数仅在调用 UpdateChannelMediaOptions 或 UpdateChannelMediaOptionsEx 时生效。
- 请确保用于生成 token 的 App ID、频道名和用户名和 Initialize 方法初始化引擎时用的 App ID,以及 JoinChannel [2/2] 或 JoinChannelEx 方法加入频道时设置的频道名和用户名是一致的。
publishRhythmPlayerTrack
设置是否发布虚拟节拍器声音至远端:
- true:发布。本地用户和远端用户都能听到节拍器。
- false:不发布。只有本地用户能听到节拍器。
isInteractiveAudience
信息
- 该参数用于实现跨直播间连麦场景。连麦主播需要调用 JoinChannelEx 方法,以观众身份加入对方的直播间,并将
isInteractiveAudience设置为 true。 - 仅当用户角色为
CLIENT_ROLE_AUDIENCE时,该参数生效。
- true:开启互动观众模式。成功开启后,本地用户作为互动观众,收到低延时和流畅的远端用户视频。
- false:不开启互动观众模式。本地用户作为普通观众,收到默认设置的远端用户视频。
customVideoTrackId
调用 CreateCustomVideoTrack 方法返回的视频轨道 ID。默认值为 0。