From 0fb944547d62359d0ab6295f6f594c5f4c867b5e Mon Sep 17 00:00:00 2001 From: Cilla-luodan <85477033+Cilla-luodan@users.noreply.github.com> Date: Wed, 14 Aug 2024 17:16:29 +0800 Subject: [PATCH 1/5] temp --- ...nthandler_onextensionerrorwithcontext.dita | 20 +- ...nthandler_onextensioneventwithcontext.dita | 19 +- ...handler_onextensionstartedwithcontext.dita | 13 +- ...handler_onextensionstoppedwithcontext.dita | 12 +- .../RTC-NG/API/class_channelmediaoptions.dita | 638 +++++++++++++++++- dita/RTC-NG/API/rtc_api_data_type.dita | 521 +++++++------- dita/RTC-NG/RTC_NG_API_Electron.ditamap | 2 - dita/RTC-NG/RTC_NG_API_RN.ditamap | 2 - .../config/keys-rtc-ng-api-electron.ditamap | 56 +- dita/RTC-NG/config/keys-rtc-ng-api-rn.ditamap | 56 +- 10 files changed, 994 insertions(+), 345 deletions(-) diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionerrorwithcontext.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionerrorwithcontext.dita index 34162981eca..4b6e6980536 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionerrorwithcontext.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionerrorwithcontext.dita @@ -24,16 +24,14 @@ (void)message; } DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FOnExtensionError, FString, provider, FString, extension, int, error, FString, message); - onExtensionError?( - provider: string, - extension: string, + onExtensionErrorWithContext?( + context: ExtensionContext, error: number, message: string ): void; public virtual void OnExtensionErrorWithContext(ExtensionContext context, int error, string message){} - onExtensionError?( - provider: string, - extension: string, + onExtensionErrorWithContext?( + context: ExtensionContext, error: number, message: string ): void; @@ -48,18 +46,10 @@ 参数 - context + context extContext 插件上下文信息,详见 - - - - - - extension - 插件的名称。 - error 错误码。详见插件服务商提供的插件文档。 diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensioneventwithcontext.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensioneventwithcontext.dita index 92f48f83993..e087c9404bb 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensioneventwithcontext.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensioneventwithcontext.dita @@ -24,16 +24,14 @@ (void)value; } DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FOnExtensionEvent, FString, provider, FString, extension, FString, key, FString, value); - onExtensionEvent?( - provider: string, - extension: string, + onExtensionEventWithContext?( + context: ExtensionContext, key: string, value: string ): void; public virtual void OnExtensionEventWithContext(ExtensionContext context, string key, string value){} - onExtensionEvent?( - provider: string, - extension: string, + onExtensionEventWithContext?( + context: ExtensionContext, key: string, value: string ): void; @@ -51,15 +49,6 @@ - - - - - - extension - extName - 插件名称。 - diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionstartedwithcontext.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionstartedwithcontext.dita index 469db444f3b..98fc6795d03 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionstartedwithcontext.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionstartedwithcontext.dita @@ -20,9 +20,11 @@ (void)context; } DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnExtensionStarted, FString, provider, FString, extension); - onExtensionStarted?(provider: string, extension: string): void; public virtual void OnExtensionEventWithContext(ExtensionContext context, string key, string value){ } onExtensionStarted?(provider: string, extension: string): void; + onExtensionStartedWithContext?(context: ExtensionContext): void; + public virtual void OnExtensionEventWithContext(ExtensionContext context, string key, string value){ } + onExtensionStartedWithContext?(context: ExtensionContext): void; final void Function(ExtensionContext context)? onExtensionStartedWithContext;

@@ -36,15 +38,6 @@ - - - - - - extension - extName - 插件名称。 - diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionstoppedwithcontext.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionstoppedwithcontext.dita index 02bb189565a..5010f96ece0 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionstoppedwithcontext.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionstoppedwithcontext.dita @@ -20,9 +20,9 @@ (void)context; }
DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnExtensionStopped, FString, provider, FString, extension); - onExtensionStopped?(provider: string, extension: string): void; + onExtensionStoppedWithContext?(context: ExtensionContext): void; public virtual void OnExtensionStoppedWithContext(ExtensionContext context){ } - onExtensionStopped?(provider: string, extension: string): void; + onExtensionStoppedWithContext?(context: ExtensionContext): void; final void Function(ExtensionContext context)? onExtensionStoppedWithContext;

@@ -36,14 +36,6 @@ - - - - - - - - \ No newline at end of file diff --git a/dita/RTC-NG/API/class_channelmediaoptions.dita b/dita/RTC-NG/API/class_channelmediaoptions.dita index 7d44be1ee7d..4660733227d 100644 --- a/dita/RTC-NG/API/class_channelmediaoptions.dita +++ b/dita/RTC-NG/API/class_channelmediaoptions.dita @@ -5,7 +5,7 @@ 频道媒体设置选项。
-

+

public class ChannelMediaOptions { public Boolean publishCameraTrack; public Boolean publishSecondaryCameraTrack; @@ -573,9 +573,6 @@ class ChannelMediaOptions { @JsonKey(name: 'publishMixedAudioTrack') final bool? publishMixedAudioTrack; - @JsonKey(name: 'publishLipSyncTrack') - final bool? publishLipSyncTrack; - @JsonKey(name: 'autoSubscribeAudio') final bool? autoSubscribeAudio; @@ -633,7 +630,638 @@ class ChannelMediaOptions { Map<String, dynamic> toJson() => _$ChannelMediaOptionsToJson(this); }

-
+

+ 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 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 mediaPlayerAudioDelayMs; + public String token; + public Boolean enableBuiltInMediaEncryption; + public Boolean publishRhythmPlayerTrack; + public Boolean isInteractiveAudience; + public Integer customVideoTrackId; + public Boolean isAudioFilterable; + } + export class ChannelMediaOptions { + + public publishCameraTrack?:boolean; + + public publishSecondaryCameraTrack?:boolean; + + public publishMicrophoneTrack?:boolean; + + public publishScreenCaptureVideo?:boolean; + + public publishScreenCaptureAudio?:boolean; + + public publishCustomAudioTrack?:boolean; + + public publishCustomAudioTrackId?:number; + + public publishCustomVideoTrack?:boolean; + + public publishEncodedVideoTrack?:boolean; + + public publishMediaPlayerAudioTrack?:boolean; + + public publishMediaPlayerVideoTrack?:boolean; + + public publishTranscodedVideoTrack?:boolean; + + public publishMixedAudioTrack?:boolean; + + public autoSubscribeAudio?:boolean; + + public autoSubscribeVideo?:boolean; + + public enableAudioRecordingOrPlayout?:boolean; + + public publishMediaPlayerId?:number; + + public clientRoleType?:number; + + public audienceLatencyLevel?:number; + + public defaultVideoStreamType?:number; + + public channelProfile?:number; + + public audioDelayMs?:number; + + public mediaPlayerAudioDelayMs?:number; + + public enableBuiltInMediaEncryption?:boolean; + + public publishRhythmPlayerTrack?:boolean; + + public isInteractiveAudience?:boolean; + + public customVideoTrackId?:number; + + public isAudioFilterable?:boolean; + + public startPreview?:boolean; + public constructor() { + } + } + __attribute__((visibility("default"))) @interface AgoraRtcChannelMediaOptions : NSObject + @property(assign, nonatomic) BOOL publishCameraTrack; + @property(assign, nonatomic) BOOL publishSecondaryCameraTrack; + @property(assign, nonatomic) BOOL publishMicrophoneTrack; + #if TARGET_OS_IPHONE + @property(assign, nonatomic) BOOL publishScreenCaptureVideo; + @property(assign, nonatomic) BOOL publishScreenCaptureAudio; + #elif TARGET_OS_MAC + @property(assign, nonatomic) BOOL publishThirdCameraTrack; + @property(assign, nonatomic) BOOL publishFourthCameraTrack; + @property(assign, nonatomic) BOOL publishScreenTrack; + @property(assign, nonatomic) BOOL publishSecondaryScreenTrack; + @property(assign, nonatomic) BOOL publishThirdScreenTrack; + @property(assign, nonatomic) BOOL publishFourthScreenTrack; + #endif + @property(assign, nonatomic) BOOL publishCustomAudioTrack; + @property(assign, nonatomic) NSInteger publishCustomAudioTrackId; + + @property(assign, nonatomic) BOOL publishCustomVideoTrack; + @property(assign, nonatomic) BOOL publishEncodedVideoTrack; + @property(assign, nonatomic) BOOL publishMediaPlayerAudioTrack; + @property(assign, nonatomic) BOOL publishMediaPlayerVideoTrack; + @property(assign, nonatomic) BOOL publishTranscodedVideoTrack; + @property(assign, nonatomic) BOOL publishLipSyncTrack; + @property(assign, nonatomic) BOOL autoSubscribeAudio; + @property(assign, nonatomic) BOOL autoSubscribeVideo; + @property(assign, nonatomic) BOOL enableAudioRecordingOrPlayout; + @property(assign, nonatomic) NSInteger publishMediaPlayerId; + @property(assign, nonatomic) AgoraClientRole clientRoleType; + @property(assign, nonatomic) AgoraAudienceLatencyLevelType audienceLatencyLevel; + @property(assign, nonatomic) AgoraVideoStreamType defaultVideoStreamType; + @property(assign, nonatomic) AgoraChannelProfile channelProfile; + @property(copy, nonatomic) NSString * _Nullable token; + @property(assign, nonatomic) BOOL enableBuiltInMediaEncryption; + + @property(assign, nonatomic) BOOL publishRhythmPlayerTrack; + @property(assign, nonatomic) BOOL isInteractiveAudience; + + @property(assign, nonatomic) NSInteger customVideoTrackId; + + @property(assign, nonatomic) BOOL isAudioFilterable; + + @end + struct ChannelMediaOptions { + Optional<bool> publishCameraTrack; + Optional<bool> publishSecondaryCameraTrack; + Optional<bool> publishThirdCameraTrack; + Optional<bool> publishFourthCameraTrack; + Optional<bool> publishMicrophoneTrack; + + #if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE) + Optional<bool> publishScreenCaptureVideo; + Optional<bool> publishScreenCaptureAudio; + #else + Optional<bool> publishScreenTrack; + Optional<bool> publishSecondaryScreenTrack; + Optional<bool> publishThirdScreenTrack; + Optional<bool> publishFourthScreenTrack; + #endif + + Optional<bool> publishCustomAudioTrack; + Optional<int> publishCustomAudioTrackId; + Optional<bool> publishCustomVideoTrack; + Optional<bool> publishEncodedVideoTrack; + Optional<bool> publishMediaPlayerAudioTrack; + Optional<bool> publishMediaPlayerVideoTrack; + Optional<bool> publishTranscodedVideoTrack; + Optional<bool> publishLipSyncTrack; + Optional<bool> autoSubscribeAudio; + Optional<bool> autoSubscribeVideo; + Optional<bool> enableAudioRecordingOrPlayout; + Optional<int> publishMediaPlayerId; + Optional<CLIENT_ROLE_TYPE> clientRoleType; + Optional<AUDIENCE_LATENCY_LEVEL_TYPE> audienceLatencyLevel; + Optional<VIDEO_STREAM_TYPE> defaultVideoStreamType; + Optional<CHANNEL_PROFILE_TYPE> channelProfile; + Optional<const char*> token; + Optional<bool> enableBuiltInMediaEncryption; + Optional<bool> publishRhythmPlayerTrack; + Optional<bool> isInteractiveAudience; + + Optional<video_track_id_t> customVideoTrackId; + + Optional<bool> isAudioFilterable; + + ChannelMediaOptions() {} + ~ChannelMediaOptions() {} + USTRUCT(BlueprintType) + struct FChannelMediaOptions + { + GENERATED_BODY() + + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + AGORAOPTIONAL publishCameraTrack; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + AGORAOPTIONAL publishSecondaryCameraTrack; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + AGORAOPTIONAL publishMicrophoneTrack; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + AGORAOPTIONAL publishScreenCaptureVideo; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + AGORAOPTIONAL publishScreenCaptureAudio; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + AGORAOPTIONAL publishScreenTrack; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + AGORAOPTIONAL publishSecondaryScreenTrack; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + AGORAOPTIONAL publishCustomAudioTrack; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + bool publishCustomAudioTrackId_SetValue; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + int publishCustomAudioTrackId; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + AGORAOPTIONAL publishCustomVideoTrack; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + AGORAOPTIONAL publishEncodedVideoTrack; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + AGORAOPTIONAL publishMediaPlayerAudioTrack; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + AGORAOPTIONAL publishMediaPlayerVideoTrack; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + AGORAOPTIONAL publishTranscodedVideoTrack; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + AGORAOPTIONAL autoSubscribeAudio; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + AGORAOPTIONAL autoSubscribeVideo; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + AGORAOPTIONAL enableAudioRecordingOrPlayout; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + bool publishMediaPlayerId_SetValue; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + int publishMediaPlayerId; + 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; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + EAUDIENCE_LATENCY_LEVEL_TYPE audienceLatencyLevel; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + bool defaultVideoStreamType_SetValue; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + EVIDEO_STREAM_TYPE defaultVideoStreamType; + 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; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + int audioDelayMs; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + bool mediaPlayerAudioDelayMs_SetValue; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + int mediaPlayerAudioDelayMs; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + bool token_SetValue; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + FString token; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + AGORAOPTIONAL enableBuiltInMediaEncryption; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + AGORAOPTIONAL publishRhythmPlayerTrack; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + AGORAOPTIONAL isInteractiveAudience; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + bool customVideoTrackId_SetValue; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + int64 customVideoTrackId; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + AGORAOPTIONAL isAudioFilterable; + }; + struct ChannelMediaOptions { + Optional<bool> publishCameraTrack; + Optional<bool> publishSecondaryCameraTrack; + Optional<bool> publishMicrophoneTrack; + + #if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE) + Optional<bool> publishScreenCaptureVideo; + Optional<bool> publishScreenCaptureAudio; + #else + Optional<bool> publishScreenTrack; + Optional<bool> publishSecondaryScreenTrack; + #endif + + Optional<bool> publishCustomAudioTrack; + Optional<int> publishCustomAudioTrackId; + Optional<bool> publishCustomVideoTrack; + Optional<bool> publishEncodedVideoTrack; + Optional<bool> publishMediaPlayerAudioTrack; + Optional<bool> publishMediaPlayerVideoTrack; + Optional<bool> publishTranscodedVideoTrack; + Optional<bool> autoSubscribeAudio; + Optional<bool> autoSubscribeVideo; + Optional<bool> enableAudioRecordingOrPlayout; + Optional<int> publishMediaPlayerId; + Optional<CLIENT_ROLE_TYPE> clientRoleType; + Optional<AUDIENCE_LATENCY_LEVEL_TYPE> audienceLatencyLevel; + Optional<VIDEO_STREAM_TYPE> defaultVideoStreamType; + Optional<CHANNEL_PROFILE_TYPE> channelProfile; + Optional<const char*> token; + Optional<bool> enableBuiltInMediaEncryption; + Optional<bool> publishRhythmPlayerTrack; + Optional<bool> isInteractiveAudience; + + Optional<video_track_id_t> customVideoTrackId; + + Optional<bool> isAudioFilterable; + + ChannelMediaOptions() {} + ~ChannelMediaOptions() {} + export class ChannelMediaOptions { + + publishCameraTrack?: boolean; + + publishSecondaryCameraTrack?: boolean; + + publishThirdCameraTrack?: boolean; + + publishFourthCameraTrack?: boolean; + + publishMicrophoneTrack?: boolean; + + publishScreenTrack?: boolean; + + publishSecondaryScreenTrack?: boolean; + + publishThirdScreenTrack?: boolean; + + publishFourthScreenTrack?: boolean; + + publishCustomAudioTrack?: boolean; + + publishCustomAudioTrackId?: number; + + publishCustomVideoTrack?: boolean; + + publishEncodedVideoTrack?: boolean; + + publishMediaPlayerAudioTrack?: boolean; + + publishMediaPlayerVideoTrack?: boolean; + + publishTranscodedVideoTrack?: boolean; + + publishLipSyncTrack?: boolean; + + autoSubscribeAudio?: boolean; + + autoSubscribeVideo?: boolean; + + enableAudioRecordingOrPlayout?: boolean; + + publishMediaPlayerId?: number; + + clientRoleType?: ClientRoleType; + + audienceLatencyLevel?: AudienceLatencyLevelType; + + defaultVideoStreamType?: VideoStreamType; + + channelProfile?: ChannelProfileType; + + token?: string; + + enableBuiltInMediaEncryption?: boolean; + + publishRhythmPlayerTrack?: boolean; + + isInteractiveAudience?: boolean; + + customVideoTrackId?: number; + + isAudioFilterable?: boolean; + } + 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>(); + + } + export class ChannelMediaOptions { + + publishCameraTrack?: boolean; + + publishSecondaryCameraTrack?: boolean; + + publishThirdCameraTrack?: boolean; + + publishFourthCameraTrack?: boolean; + + publishMicrophoneTrack?: boolean; + + publishScreenCaptureVideo?: boolean; + + publishScreenCaptureAudio?: boolean; + + publishSecondaryScreenTrack?: boolean; + + publishThirdScreenTrack?: boolean; + + publishFourthScreenTrack?: boolean; + + publishCustomAudioTrack?: boolean; + + publishCustomAudioTrackId?: number; + + publishCustomVideoTrack?: boolean; + + publishEncodedVideoTrack?: boolean; + + publishMediaPlayerAudioTrack?: boolean; + + publishMediaPlayerVideoTrack?: boolean; + + publishTranscodedVideoTrack?: boolean; + + publishLipSyncTrack?: boolean; + + autoSubscribeAudio?: boolean; + + autoSubscribeVideo?: boolean; + + enableAudioRecordingOrPlayout?: boolean; + + publishMediaPlayerId?: number; + + clientRoleType?: ClientRoleType; + + audienceLatencyLevel?: AudienceLatencyLevelType; + + defaultVideoStreamType?: VideoStreamType; + + channelProfile?: ChannelProfileType; + + token?: string; + + enableBuiltInMediaEncryption?: boolean; + + publishRhythmPlayerTrack?: boolean; + + isInteractiveAudience?: boolean; + + customVideoTrackId?: number; + + isAudioFilterable?: boolean; + } + @JsonSerializable(explicitToJson: true, includeIfNull: false) + class ChannelMediaOptions { + const ChannelMediaOptions( + {this.publishCameraTrack, + this.publishSecondaryCameraTrack, + this.publishThirdCameraTrack, + this.publishFourthCameraTrack, + this.publishMicrophoneTrack, + this.publishScreenCaptureVideo, + this.publishScreenCaptureAudio, + this.publishScreenTrack, + this.publishSecondaryScreenTrack, + this.publishThirdScreenTrack, + this.publishFourthScreenTrack, + this.publishCustomAudioTrack, + this.publishCustomAudioTrackId, + this.publishCustomVideoTrack, + this.publishEncodedVideoTrack, + this.publishMediaPlayerAudioTrack, + this.publishMediaPlayerVideoTrack, + this.publishTranscodedVideoTrack, + this.publishMixedAudioTrack, + this.publishLipSyncTrack, + this.autoSubscribeAudio, + this.autoSubscribeVideo, + this.enableAudioRecordingOrPlayout, + this.publishMediaPlayerId, + this.clientRoleType, + this.audienceLatencyLevel, + this.defaultVideoStreamType, + this.channelProfile, + this.audioDelayMs, + this.mediaPlayerAudioDelayMs, + this.token, + this.enableBuiltInMediaEncryption, + this.publishRhythmPlayerTrack, + this.isInteractiveAudience, + this.customVideoTrackId, + this.isAudioFilterable, + this.parameters}); + + @JsonKey(name: 'publishCameraTrack') + final bool? publishCameraTrack; + + @JsonKey(name: 'publishSecondaryCameraTrack') + final bool? publishSecondaryCameraTrack; + + @JsonKey(name: 'publishThirdCameraTrack') + final bool? publishThirdCameraTrack; + + @JsonKey(name: 'publishFourthCameraTrack') + final bool? publishFourthCameraTrack; + + @JsonKey(name: 'publishMicrophoneTrack') + final bool? publishMicrophoneTrack; + + @JsonKey(name: 'publishScreenCaptureVideo') + final bool? publishScreenCaptureVideo; + + @JsonKey(name: 'publishScreenCaptureAudio') + final bool? publishScreenCaptureAudio; + + @JsonKey(name: 'publishScreenTrack') + final bool? publishScreenTrack; + + @JsonKey(name: 'publishSecondaryScreenTrack') + final bool? publishSecondaryScreenTrack; + + @JsonKey(name: 'publishThirdScreenTrack') + final bool? publishThirdScreenTrack; + + @JsonKey(name: 'publishFourthScreenTrack') + final bool? publishFourthScreenTrack; + + @JsonKey(name: 'publishCustomAudioTrack') + final bool? publishCustomAudioTrack; + + @JsonKey(name: 'publishCustomAudioTrackId') + final int? publishCustomAudioTrackId; + + @JsonKey(name: 'publishCustomVideoTrack') + final bool? publishCustomVideoTrack; + + @JsonKey(name: 'publishEncodedVideoTrack') + final bool? publishEncodedVideoTrack; + + @JsonKey(name: 'publishMediaPlayerAudioTrack') + final bool? publishMediaPlayerAudioTrack; + + @JsonKey(name: 'publishMediaPlayerVideoTrack') + final bool? publishMediaPlayerVideoTrack; + + @JsonKey(name: 'publishTranscodedVideoTrack') + final bool? publishTranscodedVideoTrack; + + @JsonKey(name: 'publishMixedAudioTrack') + final bool? publishMixedAudioTrack; + + @JsonKey(name: 'publishLipSyncTrack') + final bool? publishLipSyncTrack; + + @JsonKey(name: 'autoSubscribeAudio') + final bool? autoSubscribeAudio; + + @JsonKey(name: 'autoSubscribeVideo') + final bool? autoSubscribeVideo; + + @JsonKey(name: 'enableAudioRecordingOrPlayout') + final bool? enableAudioRecordingOrPlayout; + + @JsonKey(name: 'publishMediaPlayerId') + final int? publishMediaPlayerId; + + @JsonKey(name: 'clientRoleType') + final ClientRoleType? clientRoleType; + + @JsonKey(name: 'audienceLatencyLevel') + final AudienceLatencyLevelType? audienceLatencyLevel; + + @JsonKey(name: 'defaultVideoStreamType') + final VideoStreamType? defaultVideoStreamType; + + @JsonKey(name: 'channelProfile') + final ChannelProfileType? channelProfile; + + @JsonKey(name: 'audioDelayMs') + final int? audioDelayMs; + + @JsonKey(name: 'mediaPlayerAudioDelayMs') + final int? mediaPlayerAudioDelayMs; + + @JsonKey(name: 'token') + final String? token; + + @JsonKey(name: 'enableBuiltInMediaEncryption') + final bool? enableBuiltInMediaEncryption; + + @JsonKey(name: 'publishRhythmPlayerTrack') + final bool? publishRhythmPlayerTrack; + + @JsonKey(name: 'isInteractiveAudience') + final bool? isInteractiveAudience; + + @JsonKey(name: 'customVideoTrackId') + final int? customVideoTrackId; + + @JsonKey(name: 'isAudioFilterable') + final bool? isAudioFilterable; + + @JsonKey(name: 'parameters') + final String? parameters; + + factory ChannelMediaOptions.fromJson(Map<String, dynamic> json) => + _$ChannelMediaOptionsFromJson(json); + + Map<String, dynamic> toJson() => _$ChannelMediaOptionsToJson(this); + } +

+
SDK 支持在同一时间、同一 中发布多路音频流、一路视频流。例如,publishMicrophoneTrackpublishCustomAudioTrackpublishMediaPlayerAudioTrack 可以同时为 publishCameraTrackpublishScreenCaptureVideopublishScreenTrackpublishCustomVideoTrackpublishEncodedVideoTrack 之中同一时间只能有一个为 建议你根据业务场景自行设置成员参数值,否则 SDK 会自动对成员参数进行赋值。
diff --git a/dita/RTC-NG/API/rtc_api_data_type.dita b/dita/RTC-NG/API/rtc_api_data_type.dita index 8e789064c01..7eda617c34b 100644 --- a/dita/RTC-NG/API/rtc_api_data_type.dita +++ b/dita/RTC-NG/API/rtc_api_data_type.dita @@ -1129,6 +1129,7 @@
Enum
    +
  • @@ -1366,266 +1367,268 @@
  • -
-
    -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • +
+
    +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
    -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • @@ -1911,6 +1914,7 @@
    +
  • @@ -2050,6 +2054,7 @@
    +
  • diff --git a/dita/RTC-NG/RTC_NG_API_Electron.ditamap b/dita/RTC-NG/RTC_NG_API_Electron.ditamap index 984fb22943f..715d31e56c6 100644 --- a/dita/RTC-NG/RTC_NG_API_Electron.ditamap +++ b/dita/RTC-NG/RTC_NG_API_Electron.ditamap @@ -704,8 +704,6 @@ - - diff --git a/dita/RTC-NG/RTC_NG_API_RN.ditamap b/dita/RTC-NG/RTC_NG_API_RN.ditamap index 0d5391dd913..43b7a0febd2 100644 --- a/dita/RTC-NG/RTC_NG_API_RN.ditamap +++ b/dita/RTC-NG/RTC_NG_API_RN.ditamap @@ -692,8 +692,6 @@ - - diff --git a/dita/RTC-NG/config/keys-rtc-ng-api-electron.ditamap b/dita/RTC-NG/config/keys-rtc-ng-api-electron.ditamap index 2ba40640e69..ce2caad5acc 100644 --- a/dita/RTC-NG/config/keys-rtc-ng-api-electron.ditamap +++ b/dita/RTC-NG/config/keys-rtc-ng-api-electron.ditamap @@ -2709,20 +2709,6 @@ - - - - setEncryptionMode - - - - - - - setEncryptionSecret - - - @@ -5347,6 +5333,48 @@ + + + + AlphaStitchMode + + + + + + + NoAlphaStitch + + + + + + + AlphaStitchUp + + + + + + + AlphaStitchBelow + + + + + + + AlphaStitchLeft + + + + + + + AlphaStitchRight + + + diff --git a/dita/RTC-NG/config/keys-rtc-ng-api-rn.ditamap b/dita/RTC-NG/config/keys-rtc-ng-api-rn.ditamap index ee9b8432397..e43525bcd87 100644 --- a/dita/RTC-NG/config/keys-rtc-ng-api-rn.ditamap +++ b/dita/RTC-NG/config/keys-rtc-ng-api-rn.ditamap @@ -2763,20 +2763,6 @@ - - - - setEncryptionMode - - - - - - - setEncryptionSecret - - - @@ -5258,6 +5244,48 @@ + + + + AlphaStitchMode + + + + + + + NoAlphaStitch + + + + + + + AlphaStitchUp + + + + + + + AlphaStitchBelow + + + + + + + AlphaStitchLeft + + + + + + + AlphaStitchRight + + + From 908b023a89cf3793ca63fc16472af13f089b44e4 Mon Sep 17 00:00:00 2001 From: Cilla-luodan <85477033+Cilla-luodan@users.noreply.github.com> Date: Wed, 14 Aug 2024 17:55:05 +0800 Subject: [PATCH 2/5] 1 --- .../api_irtcengine_setlocalrendermode2.dita | 5 +++-- dita/RTC-NG/API/class_externalvideoframe.dita | 20 +++++++++++-------- .../config/keys-rtc-ng-api-electron.ditamap | 7 ------- dita/RTC-NG/config/keys-rtc-ng-api-rn.ditamap | 7 ------- 4 files changed, 15 insertions(+), 24 deletions(-) diff --git a/dita/RTC-NG/API/api_irtcengine_setlocalrendermode2.dita b/dita/RTC-NG/API/api_irtcengine_setlocalrendermode2.dita index 05b59fcca08..967ec147045 100644 --- a/dita/RTC-NG/API/api_irtcengine_setlocalrendermode2.dita +++ b/dita/RTC-NG/API/api_irtcengine_setlocalrendermode2.dita @@ -39,8 +39,9 @@

    初始化本地用户视图后,你可以调用该方法更新本地用户视图的渲染和镜像模式。该方法只影响本地用户看到的视频画面,不影响本地视频的发布。

- <ph props="native unreal bp electron rn flutter">调用时机</ph> -
  • 请在调用 方法初始化本地视图后,调用该方法。
  • + 调用时机 +
      +
    • 请在调用 方法初始化本地视图后,调用该方法。
    • 你可以在通话中多次调用该方法,多次更新本地用户视图的显示模式。
diff --git a/dita/RTC-NG/API/class_externalvideoframe.dita b/dita/RTC-NG/API/class_externalvideoframe.dita index 440496fc821..061225df842 100644 --- a/dita/RTC-NG/API/class_externalvideoframe.dita +++ b/dita/RTC-NG/API/class_externalvideoframe.dita @@ -153,10 +153,13 @@ eglType?: EglContextType; textureId?: number; matrix?: number[]; - metadata_buffer?: Uint8Array; - metadata_size?: number; + metadataBuffer?: Uint8Array; + metadataSize?: number; + alphaBuffer?: Uint8Array; fillAlphaBuffer?: boolean; alphaStitchMode?: AlphaStitchMode; + d3d11Texture2d?: any; + textureSliceIndex?: number; } public class ExternalVideoFrame { @@ -196,8 +199,9 @@ eglType?: EglContextType; textureId?: number; matrix?: number[]; - metadata_buffer?: Uint8Array; - metadata_size?: number; + metadataBuffer?: Uint8Array; + metadataSize?: number; + alphaBuffer?: Uint8Array; fillAlphaBuffer?: boolean; alphaStitchMode?: AlphaStitchMode; } @@ -439,10 +443,10 @@ class ExternalVideoFrame { metadataSize 该参数仅适用于 Texture 格式的视频数据。指 MetaData 的大小,默认值为 0 - - - - + + d3d11Texture2d + 该参数仅适用于 Windows Texture 格式的视频数据。表示一个指向 ID3D11Texture2D 类型对象的指针,该类型对象被视频帧所使用。 + alphaBuffer alphaBuf diff --git a/dita/RTC-NG/config/keys-rtc-ng-api-electron.ditamap b/dita/RTC-NG/config/keys-rtc-ng-api-electron.ditamap index ce2caad5acc..8e597379db9 100644 --- a/dita/RTC-NG/config/keys-rtc-ng-api-electron.ditamap +++ b/dita/RTC-NG/config/keys-rtc-ng-api-electron.ditamap @@ -2589,13 +2589,6 @@ - - - - onExtensionEvent - - - diff --git a/dita/RTC-NG/config/keys-rtc-ng-api-rn.ditamap b/dita/RTC-NG/config/keys-rtc-ng-api-rn.ditamap index e43525bcd87..8c035447c5b 100644 --- a/dita/RTC-NG/config/keys-rtc-ng-api-rn.ditamap +++ b/dita/RTC-NG/config/keys-rtc-ng-api-rn.ditamap @@ -2643,13 +2643,6 @@ - - - - onExtensionEvent - - - From 5a5db9921298f22896cf60b55e564f446122a93b Mon Sep 17 00:00:00 2001 From: Cilla-luodan <85477033+Cilla-luodan@users.noreply.github.com> Date: Thu, 15 Aug 2024 09:42:19 +0800 Subject: [PATCH 3/5] 1 --- dita/RTC-NG/API/class_videoframe.dita | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dita/RTC-NG/API/class_videoframe.dita b/dita/RTC-NG/API/class_videoframe.dita index 938035c8a47..15824b0d967 100644 --- a/dita/RTC-NG/API/class_videoframe.dita +++ b/dita/RTC-NG/API/class_videoframe.dita @@ -717,7 +717,7 @@ class VideoFrame { textureId 该参数仅适用于 Texture 格式的视频数据。Texture ID。 - + d3d11Texture2d 该参数仅适用于 Windows Texture 格式的视频数据。表示一个指向 ID3D11Texture2D 类型对象的指针,该类型对象被视频帧所使用。 From 8fcc8917a2fff701e4294a328b024f212b534059 Mon Sep 17 00:00:00 2001 From: Cilla-luodan <85477033+Cilla-luodan@users.noreply.github.com> Date: Thu, 15 Aug 2024 14:45:21 +0800 Subject: [PATCH 4/5] review comments --- ...ck_irtcengineeventhandler_onextensionstartedwithcontext.dita | 2 -- dita/RTC-NG/API/class_videoframe.dita | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionstartedwithcontext.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionstartedwithcontext.dita index 98fc6795d03..89053d214a0 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionstartedwithcontext.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionstartedwithcontext.dita @@ -20,8 +20,6 @@ (void)context; } DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnExtensionStarted, FString, provider, FString, extension); - public virtual void OnExtensionEventWithContext(ExtensionContext context, string key, string value){ } - onExtensionStarted?(provider: string, extension: string): void; onExtensionStartedWithContext?(context: ExtensionContext): void; public virtual void OnExtensionEventWithContext(ExtensionContext context, string key, string value){ } onExtensionStartedWithContext?(context: ExtensionContext): void; diff --git a/dita/RTC-NG/API/class_videoframe.dita b/dita/RTC-NG/API/class_videoframe.dita index 15824b0d967..04ea4808e84 100644 --- a/dita/RTC-NG/API/class_videoframe.dita +++ b/dita/RTC-NG/API/class_videoframe.dita @@ -717,7 +717,7 @@ class VideoFrame { textureId 该参数仅适用于 Texture 格式的视频数据。Texture ID。 - + d3d11Texture2d 该参数仅适用于 Windows Texture 格式的视频数据。表示一个指向 ID3D11Texture2D 类型对象的指针,该类型对象被视频帧所使用。 From cb56800805d5b6869a66b068e5eeb319c92affc1 Mon Sep 17 00:00:00 2001 From: Cilla-luodan <85477033+Cilla-luodan@users.noreply.github.com> Date: Thu, 15 Aug 2024 14:46:54 +0800 Subject: [PATCH 5/5] 1 --- dita/RTC-NG/API/class_videoframe.dita | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dita/RTC-NG/API/class_videoframe.dita b/dita/RTC-NG/API/class_videoframe.dita index 04ea4808e84..a69ba2d28c0 100644 --- a/dita/RTC-NG/API/class_videoframe.dita +++ b/dita/RTC-NG/API/class_videoframe.dita @@ -717,7 +717,7 @@ class VideoFrame { textureId 该参数仅适用于 Texture 格式的视频数据。Texture ID。 - + d3d11Texture2d 该参数仅适用于 Windows Texture 格式的视频数据。表示一个指向 ID3D11Texture2D 类型对象的指针,该类型对象被视频帧所使用。