FChannelMediaOptions

  • Unreal Blueprint

更新时间不可用

频道媒体设置选项。

C++
USTRUCT(BlueprintType)
struct FChannelMediaOptions
{
	GENERATED_BODY()
public:
	UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions")
	EAgoraOptional publishCameraTrack = EAgoraOptional::AGORA_NULL_VALUE;
	UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions")
	EAgoraOptional publishSecondaryCameraTrack = EAgoraOptional::AGORA_NULL_VALUE;
	UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions")
	EAgoraOptional publishThirdCameraTrack = EAgoraOptional::AGORA_NULL_VALUE;
	UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions")
	EAgoraOptional publishFourthCameraTrack = EAgoraOptional::AGORA_NULL_VALUE;
	UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions")
	EAgoraOptional publishMicrophoneTrack = EAgoraOptional::AGORA_NULL_VALUE;
	UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions")
	EAgoraOptional publishScreenCaptureVideo = EAgoraOptional::AGORA_NULL_VALUE;
	UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions")
	EAgoraOptional publishScreenCaptureAudio = EAgoraOptional::AGORA_NULL_VALUE;
	UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions")
	EAgoraOptional publishScreenTrack = EAgoraOptional::AGORA_NULL_VALUE;
	UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions")
	EAgoraOptional publishSecondaryScreenTrack = EAgoraOptional::AGORA_NULL_VALUE;
	UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions")
	EAgoraOptional publishThirdScreenTrack = EAgoraOptional::AGORA_NULL_VALUE;
	UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions")
	EAgoraOptional publishFourthScreenTrack = EAgoraOptional::AGORA_NULL_VALUE;
	UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions")
	EAgoraOptional publishCustomAudioTrack = EAgoraOptional::AGORA_NULL_VALUE;
		UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions")
	bool publishCustomAudioTrackId_SetValue = false;
	UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions")
	int publishCustomAudioTrackId = 0;
	UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions")
	EAgoraOptional publishCustomVideoTrack = EAgoraOptional::AGORA_NULL_VALUE;
	UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions")
	EAgoraOptional publishEncodedVideoTrack = EAgoraOptional::AGORA_NULL_VALUE;
	UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions")
	EAgoraOptional publishMediaPlayerAudioTrack = EAgoraOptional::AGORA_NULL_VALUE;
	UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions")
	EAgoraOptional publishMediaPlayerVideoTrack = EAgoraOptional::AGORA_NULL_VALUE;
	UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions")
	EAgoraOptional publishTranscodedVideoTrack = EAgoraOptional::AGORA_NULL_VALUE;
	UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions")
	EAgoraOptional publishMixedAudioTrack = EAgoraOptional::AGORA_NULL_VALUE;
	UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions")
	EAgoraOptional publishLipSyncTrack = EAgoraOptional::AGORA_NULL_VALUE;
	UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions")
	EAgoraOptional autoSubscribeAudio = EAgoraOptional::AGORA_TRUE_VALUE;
	UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions")
	EAgoraOptional autoSubscribeVideo = EAgoraOptional::AGORA_TRUE_VALUE;
	UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions")
	EAgoraOptional enableAudioRecordingOrPlayout = EAgoraOptional::AGORA_NULL_VALUE;
		UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions")
	bool publishMediaPlayerId_SetValue = false;
	UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions")
	int publishMediaPlayerId = 0;
		UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions")
	bool clientRoleType_SetValue = true;
	UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions")
	ECLIENT_ROLE_TYPE clientRoleType = ECLIENT_ROLE_TYPE::CLIENT_ROLE_BROADCASTER;
		UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions")
	bool audienceLatencyLevel_SetValue = false;
	UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions")
	EAUDIENCE_LATENCY_LEVEL_TYPE audienceLatencyLevel = EAUDIENCE_LATENCY_LEVEL_TYPE::AUDIENCE_LATENCY_LEVEL_LOW_LATENCY;
		UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions")
	bool defaultVideoStreamType_SetValue = false;
	UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions")
	EVIDEO_STREAM_TYPE defaultVideoStreamType = EVIDEO_STREAM_TYPE::VIDEO_STREAM_HIGH;
		UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions")
	bool channelProfile_SetValue = true;
	UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions")
	ECHANNEL_PROFILE_TYPE channelProfile = ECHANNEL_PROFILE_TYPE::CHANNEL_PROFILE_LIVE_BROADCASTING;
		UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions")
	bool audioDelayMs_SetValue = false;
	UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions")
	int audioDelayMs = 0;
		UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions")
	bool mediaPlayerAudioDelayMs_SetValue = false;
	UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions")
	int mediaPlayerAudioDelayMs = 0;
		UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions")
	bool token_SetValue = false;
	UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions")
	FString token = "";
	UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions")
	EAgoraOptional enableBuiltInMediaEncryption = EAgoraOptional::AGORA_NULL_VALUE;
	UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions")
	EAgoraOptional publishRhythmPlayerTrack = EAgoraOptional::AGORA_NULL_VALUE;
	UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions")
	EAgoraOptional isInteractiveAudience = EAgoraOptional::AGORA_NULL_VALUE;
		UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions")
	bool customVideoTrackId_SetValue = false;
	UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions")
	int64 customVideoTrackId = 0;
	UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions")
	EAgoraOptional isAudioFilterable = EAgoraOptional::AGORA_NULL_VALUE;

	FChannelMediaOptions(){}
	FChannelMediaOptions(const agora::rtc::ChannelMediaOptions & AgoraData){

		SET_UEBP_OPTIONAL_VAL_BOOL(this->publishCameraTrack, AgoraData.publishCameraTrack)
		SET_UEBP_OPTIONAL_VAL_BOOL(this->publishSecondaryCameraTrack, AgoraData.publishSecondaryCameraTrack)
		SET_UEBP_OPTIONAL_VAL_BOOL(this->publishThirdCameraTrack, AgoraData.publishThirdCameraTrack)
		SET_UEBP_OPTIONAL_VAL_BOOL(this->publishFourthCameraTrack, AgoraData.publishFourthCameraTrack)
		SET_UEBP_OPTIONAL_VAL_BOOL(this->publishMicrophoneTrack, AgoraData.publishMicrophoneTrack)
#if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE)
		SET_UEBP_OPTIONAL_VAL_BOOL(this->publishScreenCaptureVideo, AgoraData.publishScreenCaptureVideo)
		SET_UEBP_OPTIONAL_VAL_BOOL(this->publishScreenCaptureAudio, AgoraData.publishScreenCaptureAudio)
#else
		SET_UEBP_OPTIONAL_VAL_BOOL(this->publishScreenTrack, AgoraData.publishScreenTrack)
		SET_UEBP_OPTIONAL_VAL_BOOL(this->publishSecondaryScreenTrack, AgoraData.publishSecondaryScreenTrack)
		SET_UEBP_OPTIONAL_VAL_BOOL(this->publishThirdScreenTrack, AgoraData.publishThirdScreenTrack)
		SET_UEBP_OPTIONAL_VAL_BOOL(this->publishFourthScreenTrack, AgoraData.publishFourthScreenTrack)
#endif
		SET_UEBP_OPTIONAL_VAL_BOOL(this->publishCustomAudioTrack, AgoraData.publishCustomAudioTrack)
		SET_UEBP_OPTIONAL_VAL_DIR_ASSIGN(this->publishCustomAudioTrackId, AgoraData.publishCustomAudioTrackId)
		SET_UEBP_OPTIONAL_VAL_BOOL(this->publishCustomVideoTrack, AgoraData.publishCustomVideoTrack)
		SET_UEBP_OPTIONAL_VAL_BOOL(this->publishEncodedVideoTrack, AgoraData.publishEncodedVideoTrack)
		SET_UEBP_OPTIONAL_VAL_BOOL(this->publishMediaPlayerAudioTrack, AgoraData.publishMediaPlayerAudioTrack)
		SET_UEBP_OPTIONAL_VAL_BOOL(this->publishMediaPlayerVideoTrack, AgoraData.publishMediaPlayerVideoTrack)
		SET_UEBP_OPTIONAL_VAL_BOOL(this->publishTranscodedVideoTrack, AgoraData.publishTranscodedVideoTrack)
		SET_UEBP_OPTIONAL_VAL_BOOL(this->publishMixedAudioTrack, AgoraData.publishMixedAudioTrack)
		SET_UEBP_OPTIONAL_VAL_BOOL(this->publishLipSyncTrack, AgoraData.publishLipSyncTrack)
		SET_UEBP_OPTIONAL_VAL_BOOL(this->autoSubscribeAudio, AgoraData.autoSubscribeAudio)
		SET_UEBP_OPTIONAL_VAL_BOOL(this->autoSubscribeVideo, AgoraData.autoSubscribeVideo)
		SET_UEBP_OPTIONAL_VAL_BOOL(this->enableAudioRecordingOrPlayout, AgoraData.enableAudioRecordingOrPlayout)
		SET_UEBP_OPTIONAL_VAL_DIR_ASSIGN(this->publishMediaPlayerId, AgoraData.publishMediaPlayerId)
		SET_UEBP_OPTIONAL_VAL_ASSIGN_VAL(this->clientRoleType,AgoraData.clientRoleType,static_cast<ECLIENT_ROLE_TYPE>(AgoraData.clientRoleType.value()))

		SET_UEBP_OPTIONAL_VAL_ASSIGN_VAL(this->audienceLatencyLevel, AgoraData.audienceLatencyLevel, static_cast<EAUDIENCE_LATENCY_LEVEL_TYPE>(AgoraData.audienceLatencyLevel.value()))
		SET_UEBP_OPTIONAL_VAL_ASSIGN_VAL(this->defaultVideoStreamType, AgoraData.defaultVideoStreamType, static_cast<EVIDEO_STREAM_TYPE>(AgoraData.defaultVideoStreamType.value()))
		SET_UEBP_OPTIONAL_VAL_ASSIGN_VAL(this->channelProfile, AgoraData.channelProfile, static_cast<ECHANNEL_PROFILE_TYPE>(AgoraData.channelProfile.value()))
		SET_UEBP_OPTIONAL_VAL_DIR_ASSIGN(this->audioDelayMs, AgoraData.audioDelayMs)
		SET_UEBP_OPTIONAL_VAL_DIR_ASSIGN(this->mediaPlayerAudioDelayMs, AgoraData.mediaPlayerAudioDelayMs)

		SET_UEBP_OPTIONAL_VAL_FString(this->token,AgoraData.token)

		SET_UEBP_OPTIONAL_VAL_BOOL(this->enableBuiltInMediaEncryption, AgoraData.enableBuiltInMediaEncryption)
		SET_UEBP_OPTIONAL_VAL_BOOL(this->publishRhythmPlayerTrack, AgoraData.publishRhythmPlayerTrack)
		SET_UEBP_OPTIONAL_VAL_BOOL(this->isInteractiveAudience, AgoraData.isInteractiveAudience)
		SET_UEBP_OPTIONAL_VAL_DIR_ASSIGN(this->customVideoTrackId, AgoraData.customVideoTrackId)
		SET_UEBP_OPTIONAL_VAL_BOOL(this->isAudioFilterable, AgoraData.isAudioFilterable)
	}
	agora::rtc::ChannelMediaOptions CreateAgoraData() const{
		agora::rtc::ChannelMediaOptions AgoraData;
		SET_AGORA_OPTIONAL_VAL_BOOL(AgoraData.publishCameraTrack, this->publishCameraTrack)
		SET_AGORA_OPTIONAL_VAL_BOOL(AgoraData.publishSecondaryCameraTrack, this->publishSecondaryCameraTrack)
		SET_AGORA_OPTIONAL_VAL_BOOL(AgoraData.publishThirdCameraTrack, this->publishThirdCameraTrack)
		SET_AGORA_OPTIONAL_VAL_BOOL(AgoraData.publishFourthCameraTrack, this->publishFourthCameraTrack)
		SET_AGORA_OPTIONAL_VAL_BOOL(AgoraData.publishMicrophoneTrack, this->publishMicrophoneTrack)
#if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE)
		SET_AGORA_OPTIONAL_VAL_BOOL(AgoraData.publishScreenCaptureVideo, this->publishScreenCaptureVideo)
		SET_AGORA_OPTIONAL_VAL_BOOL(AgoraData.publishScreenCaptureAudio, this->publishScreenCaptureAudio)
#else
		SET_AGORA_OPTIONAL_VAL_BOOL(AgoraData.publishScreenTrack, this->publishScreenTrack)
		SET_AGORA_OPTIONAL_VAL_BOOL(AgoraData.publishSecondaryScreenTrack, this->publishSecondaryScreenTrack)
		SET_AGORA_OPTIONAL_VAL_BOOL(AgoraData.publishThirdScreenTrack, this->publishThirdScreenTrack)
		SET_AGORA_OPTIONAL_VAL_BOOL(AgoraData.publishFourthScreenTrack, this->publishFourthScreenTrack)
#endif
		SET_AGORA_OPTIONAL_VAL_BOOL(AgoraData.publishCustomAudioTrack, this->publishCustomAudioTrack)
		SET_AGORA_OPTIONAL_VAL_DIR_ASSIGN(AgoraData.publishCustomAudioTrackId, this->publishCustomAudioTrackId)
		SET_AGORA_OPTIONAL_VAL_BOOL(AgoraData.publishCustomVideoTrack, this->publishCustomVideoTrack)
		SET_AGORA_OPTIONAL_VAL_BOOL(AgoraData.publishEncodedVideoTrack, this->publishEncodedVideoTrack)
		SET_AGORA_OPTIONAL_VAL_BOOL(AgoraData.publishMediaPlayerAudioTrack, this->publishMediaPlayerAudioTrack)
		SET_AGORA_OPTIONAL_VAL_BOOL(AgoraData.publishMediaPlayerVideoTrack, this->publishMediaPlayerVideoTrack)
		SET_AGORA_OPTIONAL_VAL_BOOL(AgoraData.publishTranscodedVideoTrack, this->publishTranscodedVideoTrack)
		SET_AGORA_OPTIONAL_VAL_BOOL(AgoraData.publishMixedAudioTrack, this->publishMixedAudioTrack)
		SET_AGORA_OPTIONAL_VAL_BOOL(AgoraData.publishLipSyncTrack, this->publishLipSyncTrack)
		SET_AGORA_OPTIONAL_VAL_BOOL(AgoraData.autoSubscribeAudio, this->autoSubscribeAudio)
		SET_AGORA_OPTIONAL_VAL_BOOL(AgoraData.autoSubscribeVideo, this->autoSubscribeVideo)
		SET_AGORA_OPTIONAL_VAL_BOOL(AgoraData.enableAudioRecordingOrPlayout, this->enableAudioRecordingOrPlayout)
		SET_AGORA_OPTIONAL_VAL_DIR_ASSIGN(AgoraData.publishMediaPlayerId, this->publishMediaPlayerId)
		SET_AGORA_OPTIONAL_VAL_ASSIGN_VAL(AgoraData.clientRoleType, this->clientRoleType,static_cast<agora::rtc::CLIENT_ROLE_TYPE>(this->clientRoleType))
		SET_AGORA_OPTIONAL_VAL_ASSIGN_VAL(AgoraData.audienceLatencyLevel, this->audienceLatencyLevel, static_cast<agora::rtc::AUDIENCE_LATENCY_LEVEL_TYPE>(this->audienceLatencyLevel))
		SET_AGORA_OPTIONAL_VAL_ASSIGN_VAL(AgoraData.defaultVideoStreamType, this->defaultVideoStreamType, static_cast<agora::rtc::VIDEO_STREAM_TYPE>(this->defaultVideoStreamType))
		SET_AGORA_OPTIONAL_VAL_ASSIGN_VAL(AgoraData.channelProfile, this->channelProfile, static_cast<agora::CHANNEL_PROFILE_TYPE>(this->channelProfile))
		SET_AGORA_OPTIONAL_VAL_DIR_ASSIGN(AgoraData.audioDelayMs, this->audioDelayMs)
		SET_AGORA_OPTIONAL_VAL_DIR_ASSIGN(AgoraData.mediaPlayerAudioDelayMs, this->mediaPlayerAudioDelayMs)
		SET_AGORA_OPTIONAL_VAL_CHARPTR______MEMOALLOC(AgoraData.token, this->token)
		SET_AGORA_OPTIONAL_VAL_BOOL(AgoraData.enableBuiltInMediaEncryption, this->enableBuiltInMediaEncryption)
		SET_AGORA_OPTIONAL_VAL_BOOL(AgoraData.publishRhythmPlayerTrack, this->publishRhythmPlayerTrack)
		SET_AGORA_OPTIONAL_VAL_BOOL(AgoraData.isInteractiveAudience, this->isInteractiveAudience)
		SET_AGORA_OPTIONAL_VAL_DIR_ASSIGN(AgoraData.customVideoTrackId, this->customVideoTrackId)
		SET_AGORA_OPTIONAL_VAL_BOOL(AgoraData.isAudioFilterable, this->isAudioFilterable)
		return AgoraData;
	}
	void FreeAgoraData(agora::rtc::ChannelMediaOptions& AgoraData) const {
		SET_AGORA_OPTIONAL_VAL_CHARPTR______MEMOFREE(AgoraData.token)
	}
};

详情

SDK 支持在同一时间、同一 FUABT_RtcConnection 中发布多路音频流、一路视频流。例如,publishMicrophoneTrack、publishCustomAudioTrack 和 publishMediaPlayerAudioTrack 可以同时为 true; publishCameraTrack、publishScreenCaptureVideo、publishScreenTrack、publishCustomVideoTrack 或 publishEncodedVideoTrack 之中同一时间只能有一个为 true。

注意: 建议你根据业务场景自行设置成员参数值,否则 SDK 会自动对成员参数进行赋值。

属性

参数名描述
publishCameraTrack

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

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

设置是否发布第二个摄像头采集的视频:

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

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

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

注:

  • 如果你将该参数设为 false,SDK 也会关闭麦克风采集。
  • 如果你想要发布麦克风采集到的音频流,请确保 enableAudioRecordingOrPlayout 设为 true。
publishThirdCameraTrack

设置是否发布第三个摄像头采集的视频:

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

注意: 该参数仅适用于 Android、Windows 和 macOS 平台。

publishFourthCameraTrack

设置是否发布第四个摄像头采集的视频:

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

注意: 该参数仅适用于 Android、Windows 和 macOS 平台。

publishScreenTrack

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

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

注意: 该参数仅适用于 Windows 和 macOS 平台。

publishScreenCaptureVideo

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

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

注意: 该参数仅适用于 Android 和 iOS 平台。

publishScreenCaptureAudio

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

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

注意: 该参数仅适用于 Android 和 iOS 平台。

publishSecondaryScreenTrack

设置是否发布第二个屏幕采集的视频:

  • true:发布第二个屏幕采集到的视频。
  • false:不发布第二个屏幕采集到的视频。
publishThirdScreenTrack

设置是否发布第三个屏幕采集的视频:

  • true:发布第三个屏幕采集到的视频。
  • false:不发布第三个屏幕采集到的视频。

注意: 该参数仅适用于 Windows 和 macOS 平台。

publishFourthScreenTrack

设置是否发布第四个屏幕采集的视频:

  • true:发布第四个屏幕采集到的视频。
  • false:不发布第四个屏幕采集到的视频。

注意: 该参数仅适用于 Windows 和 macOS 平台。

publishTranscodedVideoTrack

设置是否发布本地的转码视频:

  • true:发布本地的转码视频。
  • false:不发布本地的转码视频。
publishMixedAudioTrack

设置是否发布本地混音音频:

  • true:发布本地混音音频。
  • false:不发布本地混音音频。
publishEncodedVideoTrack

设置是否发布编码后的视频:

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

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

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

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

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

设置是否自动订阅所有音频流:

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

设置是否自动订阅所有视频流:

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

设置是否开启音频录制或播放:

  • true:开启音频录制或播放。
  • false:不开启音频录制或播放。

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

publishMediaPlayerId

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

clientRoleType

用户角色。详见 ECLIENT_ROLE_TYPE。

注: 角色为观众的用户无法在频道内发布音视频流。在直播场景下发流时,请确保你的用户角色已切换为主播。

audienceLatencyLevel

观众端延时级别。详见 EAUDIENCE_LATENCY_LEVEL_TYPE。

defaultVideoStreamType

默认订阅的视频流类型: EVIDEO_STREAM_TYPE。

channelProfile

频道使用场景。详见 ECHANNEL_PROFILE_TYPE。

audioDelayMs

发送音频帧的延时(毫秒)。你可以通过该参数来设置需要发送的音频帧的延时,以确保音画同步。

如果要关闭延时,将此参数值设置为 0。

token

(可选)在服务端生成的用于鉴权的动态密钥。详见使用 Token 鉴权。

注意:

publishRhythmPlayerTrack

设置是否发布虚拟节拍器声音至远端:

  • true:发布。本地用户和远端用户都能听到节拍器。
  • false:不发布。只有本地用户能听到节拍器。
isInteractiveAudience

是否开启互动观众模式:

  • true:开启互动观众模式。成功开启后,本地用户作为互动观众,收到低延时和流畅的远端用户视频。
  • false:不开启互动观众模式。本地用户作为普通观众,收到默认设置的远端用户视频。

注意:

  • 该参数用于实现跨直播间连麦场景。连麦主播需要调用 JoinChannelEx 方法,以观众身份加入对方的直播间,并将 isInteractiveAudience 设置为 true。
  • 仅当用户角色为 CLIENT_ROLE_AUDIENCE 时,该参数生效。
isAudioFilterable

设置是否让当前音频流根据音强算法参与选流。

  • true:参与音强选流。如未开启音强选流功能,该参数不会生效。
  • false:不参与音强选流。

注意: 如需启用该功能,请联系销售。

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

这个页面有帮助吗?