NERTC iOS SDK V5.9.1
载入中...
搜索中...
未找到
NERtcEngineBase.h
浏览该文件的文档.
1/*
2 * Copyright (c) 2021 NetEase, Inc. All rights reserved.
3 */
4
5#import <Foundation/Foundation.h>
6#import "NERtcEngineEnum.h"
7
8@protocol NERtcEngineVideoRenderSink;
9@protocol NERtcEnginePacketObserver;
10
11NS_ASSUME_NONNULL_BEGIN
12
22// channel
36
37// video
101
112NERTC_EXTERN_API NSString * const kNERtcKeyAutoSubscribeVideo; // BOOL -- 其他用户打开视频时,自动订阅。只支持在通话前设置,通话中设置无效。 默认值 NO。
113
114// audio
128
129// data channel
143
156
164
199
200
201// server record
238
239// live stream
251
252// log level
271
279
286
287
289
298NERTC_EXPORT @interface NERtcVideoCanvas : NSObject
299
308@property (nonatomic, assign) BOOL useExternalRender;
309
318@property (nonatomic, nullable, strong) VIEW_CLASS *container;
319
328@property (nonatomic, assign) NERtcVideoRenderScaleMode renderMode;
329
342@property (nonatomic, assign) NERtcVideoMirrorMode mirrorMode;
343
352@property (nonatomic, strong) id<NERtcEngineVideoRenderSink> externalVideoRender;
353
354// 背景颜色,格式为 0xRRGGBB,默认为黑色即 0x000000
355@property (nonatomic, assign) uint32_t backgroundColor;
356
357@end
358
368
377@property (nonatomic, assign) NERtcVideoProfileType maxProfile;
378
395@property (nonatomic, assign) NERtcVideoFrameRate frameRate;
396
405@property (nonatomic, assign) NSInteger minFrameRate;
406
468@property (nonatomic, assign) NSInteger bitrate;
469
478@property (nonatomic, assign) NSInteger minBitrate;
479
480@end
481
491
512@property (nonatomic, assign) int captureWidth;
533@property (nonatomic, assign) int captureHeight;
534
543@property(nonatomic, assign) NERtcVideoColorSpaceRange colorSpaceRange;
544
545@end
555
572@property (nonatomic, assign) int width;
573
590@property (nonatomic, assign) int height;
591
600@property (nonatomic, assign) NERtcVideoCropMode cropMode;
601
622@property (nonatomic, assign) NERtcDegradationPreference degradationPreference;
623
635@property (nonatomic, assign) NERtcVideoMirrorMode mirrorMode;
636
647@property (nonatomic, assign) NERtcVideoOutputOrientationMode orientationMode;
648
649
650@end
651
661
670@property (nonatomic, assign) NERtcSubStreamContentPrefer contentPrefer;
671
692@property (nonatomic, assign) NERtcDegradationPreference degradationPreference;
693
694@end
695
698
701
714@property (nonatomic, copy) NSString *path;
715
728@property (nonatomic, assign) int loopCount;
729
738@property (nonatomic, assign) BOOL sendEnabled;
739
748@property (nonatomic, assign) BOOL playbackEnabled;
749
760@property (nonatomic, assign) uint32_t sendVolume;
761
772@property (nonatomic, assign) uint32_t playbackVolume;
773
782@property (nonatomic, assign) int64_t startTimeStamp;
783
792@property (nonatomic, assign) NERtcAudioStreamType sendWithAudioType;
793
799@property (nonatomic, assign) uint64_t progressInterval;
800
813- (BOOL)isInvalid;
814
815@end
816
819
832@property (nonatomic, copy) NSString *path;
833
846@property (nonatomic, assign) int loopCount;
847
856@property (nonatomic, assign) BOOL sendEnabled;
857
866@property (nonatomic, assign) BOOL playbackEnabled;
867
878@property (nonatomic, assign) uint32_t sendVolume;
879
890@property (nonatomic, assign) uint32_t playbackVolume;
891
897@property (nonatomic, assign) int64_t startTimeStamp;
898
904@property (nonatomic, assign) NERtcAudioStreamType sendWithAudioType;
905
911@property (nonatomic, assign) uint64_t progressInterval;
912
913@end
914
916
917// 录音文件在本地保存的绝对路径,需要精确到文件名及格式。例如:sdcard/xxx/audio.aac。请确保指定的路径存在并且可写。目前仅支持 WAV 或 AAC 文件格式。
918@property (nonatomic, copy) NSString *filePath;
919
920// 录音采样率(Hz),可以设为 16000、32000(默认)、44100 或 48000。
921@property (nonatomic, assign) int sampleRate;
922
923// 录音音质,只在 AAC 格式下有效。详细信息请参考 {@link NERtcAudioRecordingQuality}。
924@property (nonatomic, assign) NERtcAudioRecordingQuality quality;
925
926// 录音文件所包含的内容。详细信息请参考 {@link NERtcAudioRecordingPosition}。
927@property (nonatomic, assign) NERtcAudioRecordingPosition position;
928
929// 录制过程中,循环缓存的最大时间长度,单位(s)。详细信息请参考 {@link NERtcAudioRecordingCycleTime}。
930@property (nonatomic, assign) NERtcAudioRecordingCycleTime cycleTime;
931
932@end
933
934#pragma mark - live stream
943NERTC_EXPORT @interface NERtcLiveConfig: NSObject
944
953@property (nonatomic, assign) BOOL interruptedPlaceImage;
954
967@property (nonatomic, assign) BOOL singleVideoPassthrough;
980@property (nonatomic, assign) NSInteger audioBitrate;
981
996@property (nonatomic, assign) NERtcLiveStreamAudioSampleRate sampleRate;
997
1010@property (nonatomic, assign) NSInteger channels;
1011
1024@property (nonatomic, assign) NERtcLiveStreamAudioCodecProfile audioCodecProfile;
1025
1026@end
1027
1037
1046@property (nonatomic, assign) uint64_t uid;
1047
1062@property (nonatomic, assign) BOOL videoPush;
1063
1076@property (nonatomic, assign) NSInteger x;
1077
1090@property (nonatomic, assign) NSInteger y;
1091
1104@property (nonatomic, assign) NSInteger width;
1105
1118@property (nonatomic, assign) NSInteger height;
1119
1132@property (nonatomic, assign) BOOL audioPush;
1133
1142@property (nonatomic, assign) NSInteger zOrder;
1143
1152@property (nonatomic, assign) NERtcLiveStreamVideoScaleMode adaption;
1153
1154@end
1155
1165
1174@property (nonatomic, copy) NSString *url;
1175
1188@property (nonatomic, assign) NSInteger x;
1189
1202@property (nonatomic, assign) NSInteger y;
1203
1214@property (nonatomic, assign) NSInteger width;
1215
1226@property (nonatomic, assign) NSInteger height;
1227
1237@property (nonatomic, assign) int zorder;
1238
1239@end
1240
1250
1259@property (nonatomic, assign) NSInteger width;
1260
1269@property (nonatomic, assign) NSInteger height;
1270
1279@property (nonatomic, assign) NSUInteger backgroundColor;
1280
1289@property (nonatomic, strong) NSArray<NERtcLiveStreamUserTranscoding *> * users;
1290
1300@property (nonatomic, nullable, strong) NERtcLiveStreamImageInfo* bgImage;
1301
1308@property (nonatomic, nullable, strong) NSArray<NERtcLiveStreamImageInfo*> * bgImages;
1309
1310@end
1311
1321
1332@property (nonatomic, copy) NSString *taskID;
1333
1344@property (nonatomic, copy) NSString *streamURL;
1345
1354@property (nonatomic, assign) BOOL serverRecordEnabled;
1355
1364@property (nonatomic, assign) NERtcLiveStreamMode lsMode;
1365
1374@property (nonatomic, nullable, strong) NERtcLiveStreamLayout *layout;
1375
1384@property (nonatomic, nullable, strong) NERtcLiveConfig *config;
1385
1394@property (nonatomic, nullable, copy) NSString *extraInfo;
1395
1404- (BOOL)isInvalid;
1405
1406@end
1407
1408
1409#pragma mark -- Audio Frame Observer
1419
1434@property (nonatomic, assign) uint32_t channels;
1435
1444@property (nonatomic, assign) uint32_t sampleRate;
1445
1454@property (nonatomic, assign) NERtcAudioFrameOpMode mode;
1455
1456@end
1457
1466NERTC_EXPORT @interface NERtcAudioFormat : NSObject
1467
1476@property (nonatomic, assign) NERtcAudioType type;
1489@property (nonatomic, assign) uint32_t channels;
1490
1499@property (nonatomic, assign) uint32_t sampleRate;
1500
1509@property (nonatomic, assign) uint32_t bytesPerSample;
1510
1519@property (nonatomic, assign) uint32_t samplesPerChannel;
1520
1521@end
1522
1531NERTC_EXPORT @interface NERtcAudioFrame : NSObject
1532
1541@property (nonatomic, strong) NERtcAudioFormat* format;
1542
1551@property (nonatomic, assign) void* data;
1552
1561@property (nonatomic, assign) int64_t syncTimestamp;
1562
1563@end
1564
1565
1566#pragma mark - Volume info
1567
1577
1586@property (nonatomic, assign) uint64_t uid;
1587
1596@property (nonatomic, assign) unsigned int volume;
1597
1607@property (nonatomic, assign) unsigned int subStreamVolume;
1608
1609@end
1610
1611#pragma mark - Video Frame
1612
1621NERTC_EXPORT @interface NERtcVideoFrame : NSObject
1622
1632@property(nonatomic, assign) NERtcVideoFormatType format;
1633
1642@property(nonatomic, assign) uint64_t timestamp;
1643
1652@property(nonatomic, assign) uint32_t width;
1653
1662@property(nonatomic, assign) uint32_t height;
1663
1672@property(nonatomic, assign) NERtcVideoRotationType rotation;
1673
1686@property(nonatomic) void * buffer;
1687
1695@property(nonatomic) void * uBuffer;
1696
1704@property(nonatomic) void * vBuffer;
1705
1715@property(nonatomic, strong) NSArray<NSNumber *> *strides;
1716
1717// Metal 纹理
1718// 目前该参数仅在外部渲染视频的场景下有实际意义。
1719@property(nonatomic, strong) id<MTLTexture> texture;
1720
1729@property(nonatomic, assign) NERtcVideoColorSpaceRange colorSpaceRange;
1730
1739@property(nonatomic, assign) NERtcVideoColorSpaceMatrix colorSpaceMatrix;
1740
1749@property(nonatomic, assign) NERtcVideoColorSpacePrimary colorSpacePrimary;
1750
1759@property(nonatomic, assign) NERtcVideoColorSpaceTransfer colorSpaceTransfer;
1760
1761@end
1762
1763#pragma mark- MediaRelay
1764
1774
1783@property (nonatomic, copy)NSString *channelName;
1792@property (nonatomic, copy)NSString *token;
1801@property (nonatomic, assign)uint64_t uid;
1802
1803@end
1804
1806
1821@property(nonatomic, strong, readonly)NSDictionary<NSString *, NERtcChannelMediaRelayInfo *> * _Nullable destinationInfos;
1822
1837@property(nonatomic, strong)NERtcChannelMediaRelayInfo *sourceInfo;
1838
1855- (BOOL)setDestinationInfo:(NERtcChannelMediaRelayInfo *_Nonnull)destinationInfo forChannelName:(NSString *_Nonnull)channelName;
1856
1869- (BOOL)removeDestinationInfoForChannelName:(NSString *_Nonnull)channelName;
1870
1871@end
1872
1873#pragma mark - watermark
1874
1892
1901@property (nonatomic, assign) CGFloat wmAlpha;
1902
1911@property (nonatomic, assign) NSUInteger wmWidth;
1912
1921@property (nonatomic, assign) NSUInteger wmHeight;
1922
1931@property (nonatomic, assign) NSUInteger offsetX;
1932
1941@property (nonatomic, assign) NSUInteger offsetY;
1942
1951@property (nonatomic, strong) NSArray<NSString *> *imagePaths;
1952
1963@property (nonatomic, assign) NSUInteger fps;
1964
1973@property (nonatomic, assign) BOOL loop;
1974
1975@end
1976
1978
1987@property (nonatomic, copy) NSString *content;
1988
1994@property (nonatomic, copy) NSString *fontName;
1995
2004@property (nonatomic, assign) NSUInteger fontColor;
2005
2014@property (nonatomic, assign) NSUInteger fontSize;
2015
2024@property (nonatomic, assign) CGFloat wmAlpha;
2025
2035@property (nonatomic, assign) NSUInteger wmColor;
2036
2045@property (nonatomic, assign) NSUInteger wmWidth;
2046
2055@property (nonatomic, assign) NSUInteger wmHeight;
2056
2065@property (nonatomic, assign) NSUInteger offsetX;
2066
2075@property (nonatomic, assign) NSUInteger offsetY;
2076
2077@end
2078
2080
2086@property (nonatomic, copy) NSString *fontName;
2087
2096@property (nonatomic, assign) NSUInteger fontColor;
2097
2106@property (nonatomic, assign) NSUInteger fontSize;
2107
2116@property (nonatomic, assign) CGFloat wmAlpha;
2117
2128@property (nonatomic, assign) NSUInteger wmColor;
2129
2138@property (nonatomic, assign) NSUInteger wmWidth;
2139
2148@property (nonatomic, assign) NSUInteger wmHeight;
2149
2158@property (nonatomic, assign) NSUInteger offsetX;
2159
2168@property (nonatomic, assign) NSUInteger offsetY;
2169
2170@end
2171
2181
2190@property (nonatomic, assign) NERtcVideoWatermarkType watermarkType;
2191
2200@property (nonatomic, strong) NERtcVideoWatermarkImageConfig *imageWatermark;
2201
2210@property (nonatomic, strong) NERtcVideoWatermarkTextConfig *textWatermark;
2211
2220@property (nonatomic, strong) NERtcVideoWatermarkTimestampConfig *timestampWatermark;
2221
2222@end
2223
2224#pragma mark - Encryption
2225
2235
2244@property (nonatomic, assign) NERtcEncryptionMode mode;
2245
2254@property (nonatomic, copy, nullable) NSString *key;
2255
2261@property (nonatomic, weak, nullable) id<NERtcEnginePacketObserver> observer;
2262
2263@end
2264
2265#pragma mark - privatization
2266
2278
2287@property (nonatomic, copy, nullable) NSString* lbsServer;
2288
2297@property (nonatomic, copy, nullable) NSString *channelServer;
2298
2307@property (nonatomic, copy, nullable) NSString *statisticsServer;
2308
2317@property (nonatomic, copy, nullable) NSString *statisticsDispatchServer;
2318
2327@property (nonatomic, copy, nullable) NSString *statisticsBackupServer;
2328
2337@property (nonatomic, copy, nullable) NSString *roomServer;
2338
2347@property (nonatomic, copy, nullable) NSString *compatServer;
2348
2357@property (nonatomic, copy, nullable) NSString *nosLbsServer;
2358
2367@property (nonatomic, copy, nullable) NSString *nosUploadSever;
2368
2377@property (nonatomic, copy, nullable) NSString *nosTokenServer;
2378
2387@property (nonatomic, assign) BOOL useIPv6;
2388
2392@property (nonatomic, copy, nullable) NSString *cloudProxyServer;
2393
2397@property (nonatomic, copy, nullable) NSString *webSocketProxyServer;
2398
2402@property (nonatomic, copy, nullable) NSString *quicProxyServer;
2403
2407@property (nonatomic, copy, nullable) NSString *mediaProxyServer;
2408
2409@end
2410
2411#pragma mark - NERtcLastmileProbeConfig
2412
2422
2437@property(nonatomic, assign) BOOL probeUplink;
2438
2451@property(nonatomic, assign) BOOL probeDownlink;
2452
2465@property(nonatomic, assign) NSUInteger expectedUplinkBitrate;
2466
2476@property(nonatomic, assign) NSUInteger expectedDownlinkBitrate;
2477
2478@end
2479
2480#pragma mark - NERtcLastmileProbeOneWayResult
2481
2491
2500@property(nonatomic, assign) NSUInteger packetLossRate;
2501
2510@property(nonatomic, assign) NSUInteger jitter;
2511
2520@property(nonatomic, assign) NSUInteger availableBandwidth;
2521
2522@end
2523
2524#pragma mark - NERtcLastmileProbeResult
2525
2535
2544@property(nonatomic, assign) NERtcLastmileProbeResultState state;
2545
2554@property(nonatomic, assign) NSUInteger rtt;
2555
2564@property(nonatomic, strong) NERtcLastmileProbeOneWayResult *uplinkReport;
2565
2574@property(nonatomic, strong) NERtcLastmileProbeOneWayResult *downlinkReport;
2575
2576@end
2577
2578#pragma mark -- Log setting
2579
2588NERTC_EXPORT @interface NERtcLogSetting : NSObject
2589
2598@property (nonatomic, copy) NSString *logDir;
2599
2608@property (nonatomic, assign) NERtcLogLevel logLevel;
2609
2610@end
2611
2612#pragma mark - Video Correction Config
2613
2623
2624// 矫正区域的左上顶点(x 和 y 的取值范围为 0 ~ 1 的浮点数)
2625@property (nonatomic, assign) CGPoint topLeft;
2626
2627// 矫正区域的右上顶点(x 和 y 的取值范围为 0 ~ 1 的浮点数)
2628@property (nonatomic, assign) CGPoint topRight;
2629
2630// 矫正区域的左下顶点(x 和 y 的取值范围为 0 ~ 1 的浮点数)
2631@property (nonatomic, assign) CGPoint bottomLeft;
2632
2633// 矫正区域的右下顶点(x 和 y 的取值范围为 0 ~ 1 的浮点数)
2634@property (nonatomic, assign) CGPoint bottomRight;
2635
2636// 画布宽度(单位 px,使用外部视频渲染时需要传递)
2637@property (nonatomic, assign) CGFloat canvasWidth;
2638
2639// 画布高度(单位 px,使用外部视频渲染时需要传递)
2640@property (nonatomic, assign) CGFloat canvasHeight;
2641
2642// 是否镜像显示(使用外部视频渲染时需要传递)
2643@property (nonatomic, assign) BOOL enableMirror;
2644
2645@end
2646
2647#pragma mark - NERtcVirtualBackgroundSource
2648
2660
2669@property (nonatomic, assign) NERtcVirtualBackgroundSourceType backgroundSourceType;
2670
2685@property (nonatomic, assign) NSUInteger color;
2686
2697@property (nonatomic, copy) NSString *source;
2698
2709@property (nonatomic, assign) NERtcBlurDegree blur_degree;
2710
2711@end
2712
2713#pragma mark - Audio Effect
2714
2723NERTC_EXPORT @interface NERtcReverbParam : NSObject
2724
2733@property (nonatomic, assign) float wetGain;
2734
2743@property (nonatomic, assign) float dryGain;
2744
2753@property (nonatomic, assign) float damping;
2754
2763@property (nonatomic, assign) float roomSize;
2764
2773@property (nonatomic, assign) float decayTime;
2774
2783@property (nonatomic, assign) float preDelay;
2784
2785@end
2786
2787#pragma mark - extraInfo
2788
2793
2797@property (nonatomic, assign) BOOL enableLowLatency;
2801@property (nonatomic, assign) NSUInteger playTimeout;
2805@property (nonatomic, nullable, strong) NERtcVideoCanvas *playCanvas;
2806
2807@end
2808
2813
2817@property (nonatomic, nullable, copy) NSString *customInfo;
2818
2824@property (nonatomic, nullable, copy) NSString *permissionKey;
2825
2826@property (nonatomic, nullable, strong) NERtcLowLatencyOptions *lowLatencyOptions;
2827
2828@end
2829
2834
2838@property (nonatomic, copy) NSString *customInfo;
2839
2840
2841@end
2842
2847
2851@property (nonatomic, copy) NSString *customInfo;
2852
2853@end
2854
2859
2863@property (nonatomic, copy) NSString *customInfo;
2864
2865@end
2866
2867#pragma mark - preDecoder
2868
2876@property (nonatomic, assign) int width;
2877
2881@property (nonatomic, assign) int height;
2882
2886@property (nonatomic, assign) BOOL isKeyFrame;
2887
2888@end
2889
2890
2895
2899@property (nonatomic, assign) uint32_t perTimeMs;
2900
2904@property (nonatomic, assign) uint8_t toc;
2905
2906@end
2907
2908
2916@property (nonatomic, assign) NERtcPreDecoderMediaType mediaType;
2917
2921@property (nonatomic, assign) uint64_t uid;
2922
2926@property (nonatomic, assign) int64_t timestampMs;
2927
2931@property (nonatomic, assign) uint8_t *data;
2932
2936@property (nonatomic, assign) int length;
2937
2941@property (nonatomic, copy) NSString *codec;
2942
2946@property (nonatomic, assign) BOOL isMainStream;
2947
2951@property (nonatomic, strong) NERtcPreDecoderVideoInfo *videoInfo;
2952
2956@property (nonatomic, strong) NERtcPreDecoderAudioInfo *audioInfo;
2957
2958@end
2959
2961
2962/***
2963* 编码器类型
2964*/
2965@property (nonatomic, assign) NERtcVideoCodecType codecType;
2966
2970@property (nonatomic, assign) NERtcNalFrameType frameType;
2971
2975@property (nonatomic, copy) NSArray<NSNumber *> *nalLengths;
2976
2980@property (nonatomic, assign) unsigned char *nalData;
2981
2985@property (nonatomic, assign) int64_t timestampUs;
2986
2990@property (nonatomic, assign) int width;
2991
2995@property (nonatomic, assign) int height;
2996
2997@end
2998
3003
3007@property (nonatomic, assign) unsigned char *data;
3008
3012@property (nonatomic, assign) int64_t timeStampUs;
3013
3017@property (nonatomic, assign) int sampleRate;
3018
3022@property (nonatomic, assign) int channels;
3023
3027@property (nonatomic, assign) int samplesPerChannel;
3028
3032@property (nonatomic, assign) int encodedLen;
3033
3037@property (nonatomic, assign) uint32_t encodedTimestamp;
3038
3042@property (nonatomic, assign) NERtcPayLoadType payloadType;
3043
3047@property (nonatomic, assign) uint8_t rmsLevel;
3048
3049@end
3050
3052NERTC_EXPORT @interface NERtcPositionInfo : NSObject
3053
3057@property(nonatomic, assign) CGFloat speakerPositionX;
3058
3062@property(nonatomic, assign) CGFloat speakerPositionY;
3063
3067@property(nonatomic, assign) CGFloat speakerPositionZ;
3068
3072@property(nonatomic, assign) CGFloat speakerQuaternionX;
3073
3077@property(nonatomic, assign) CGFloat speakerQuaternionY;
3078
3082@property(nonatomic, assign) CGFloat speakerQuaternionZ;
3083
3087@property(nonatomic, assign) CGFloat speakerQuaternionW;
3088
3092@property(nonatomic, assign) CGFloat headPositionX;
3093
3097@property(nonatomic, assign) CGFloat headPositionY;
3098
3102@property(nonatomic, assign) CGFloat headPositionZ;
3103
3107@property(nonatomic, assign) CGFloat headQuaternionX;
3108
3112@property(nonatomic, assign) CGFloat headQuaternionY;
3113
3117@property(nonatomic, assign) CGFloat headQuaternionZ;
3118
3122@property(nonatomic, assign) CGFloat headQuaternionW;
3123
3124@end
3125
3129
3133@property (nonatomic, assign) NERtcSpatializerRoomCapacity roomCapacity;
3134
3138@property (nonatomic, assign) NERtcSpatializerMaterialName material;
3139
3143@property (nonatomic, assign) CGFloat reflectionScalar;
3144
3148@property (nonatomic, assign) CGFloat reverbGain;
3149
3153@property (nonatomic, assign) CGFloat reverbTime;
3154
3158@property (nonatomic, assign) CGFloat reverbBrightness;
3159
3160@end
3161
3162NERTC_EXPORT @interface NERtcPacket : NSObject
3163
3172@property (nonatomic, assign) const unsigned char* buffer;
3173
3182@property (nonatomic, assign) long size;
3183
3184@end
3185
3186#pragma mark - push stream params
3187
3189
3200@property (nonatomic, assign) uint64_t uId;
3201
3212@property (nonatomic, copy) NSString *channelName;
3223@property (nonatomic, copy) NSString *token;
3224
3225@end
3226
3228
3237@property (nonatomic, copy) NSString *streamingUrl;
3238
3247@property (nonatomic, strong, nullable) NERtcStreamingRoomInfo *streamingRoomInfo;
3248
3249@end
3250
3252
3263@property (nonatomic, copy) NSString *streamUrl;
3264
3273@property (nonatomic, assign) uint32_t playOutDelay;
3274
3284@property (nonatomic, assign) uint32_t reconnectTimeout;
3285
3286@end
3287
3289
3305@property (nonatomic, copy) NSString *srcLanguage;
3306
3321@property(nonatomic, strong) NSArray<NSString *> *srcLanguages;
3322
3335@property (nonatomic, copy) NSString *dstLanguage;
3336
3349@property(nonatomic, strong) NSArray<NSString *> *dstLanguages;
3350
3351
3352@end
3353
3354
3356
3362@property (nonatomic, assign) uint64_t uid;
3368@property (nonatomic, assign) bool isLocalUser;
3374@property (nonatomic, assign) uint64_t timestamp;
3380@property (nonatomic, copy) NSString* content;
3386@property (nonatomic, copy) NSString* language;
3392@property (nonatomic, assign) bool haveTranslation;
3398@property (nonatomic, copy) NSString* translatedText;
3404@property (nonatomic, copy) NSString* translationLanguage;
3410@property (nonatomic, assign) bool isFinal;
3411
3412@end
3413
3414
3415NS_ASSUME_NONNULL_END
NERTC_EXTERN_API uint32_t const NERtcAudioMixingMaxVolume
定义 NERtcEngineBase.h:696
NERTC_EXTERN_API NSString *const kNERtcKeyVideoStartWithBackCamera
第一次开启摄像头时,是否使用后摄像头。 布尔值,默认值 NO,即不使用后置摄像头。
定义 NERtcEngineBase.h:80
NERTC_EXTERN_API NSString *const KNERtcKeyDisableSWAECOnHeadset
设置耳机时不使用软件回声消除功能,默认值 NO。如设置 YES 则 SDK 在耳机模式下不使用软件回声消除功能,会对某些机型下 耳机的音质效果有影响
定义 NERtcEngineBase.h:185
NERTC_EXTERN_API NSString *const kNERtcKeyExtraInfo
Login 事件中的一个自定义字段,适用于标识一些额外信息,例如 App 版本。
定义 NERtcEngineBase.h:270
NERTC_EXTERN_API NSString *const KNERtcKeyAudioAINSEnable
设置 AI 降噪模式。 NERTC SDK 自研 AI 降噪算法,开启 AI 降噪之后,在嘈杂的环境中可以针对背景人声、键盘声等非稳态噪声进行定向降噪,同时也会提升对于环境稳态噪声的抑制,保留更纯粹的...
定义 NERtcEngineBase.h:198
NERTC_EXTERN_API NSString *const kNERtcKeyLoginCustomData
登录扩展参数,string,默认不设置。
定义 NERtcEngineBase.h:285
NERTC_EXTERN_API NSString *const kNERtcKeyLogLevel
SDK 日志等级,默认为 kNERtcLogLevelInfo,详细信息请参考 NERtcLogLevel。
定义 NERtcEngineBase.h:261
NS_ASSUME_NONNULL_BEGIN NERTC_EXTERN_API NSString *const kNERtcKeyChannel1V1ModeEnabled
以下 key 用于 INERtcEngine::setParameters
定义 NERtcEngineBase.h:35
NERTC_EXTERN_API NSString *const kNERtcKeyPublishSelfStreamEnabled
在旁路推流场景中,是否允许推送本地媒体流到 CDN。默认值 YES。
定义 NERtcEngineBase.h:250
NERTC_EXTERN_API NSString *const kNERtcKeyVideoPreferMetalRender
是否优先使用 Metal 渲染。 布尔值,默认值 NO,即使用 OpenGL 渲染。
定义 NERtcEngineBase.h:90
NERTC_EXTERN_API NSString *const KNERtcKeyDisableOverrideSpeakerOnReceiver
当系统切换听筒或扬声器时,SDK 是否以系统设置为准。 布尔值,默认为 NO。
定义 NERtcEngineBase.h:155
NERTC_EXTERN_API NSString *const kNERtcKeyVideoPreferHWEncode
是否优先使用硬件编码视频数据。 布尔值,默认值 YES。 请在初始化(setupEngineWithContext)之前设置该参数,否则该参数会在下次初始化之后生效。
定义 NERtcEngineBase.h:48
NERTC_EXTERN_API NSString *const kNERtcKeyVideoSendOnPubType
通话开始时,默认发送的流类型,通话前设置有效。 int 类型,默认为 3,即大流。详细信息请参考 NERtcVideoPubMode。
定义 NERtcEngineBase.h:100
NERTC_EXTERN_API NSString *const kNERtcKeyRecordHostEnabled
是否云端录制主讲人,默认值 NO
定义 NERtcEngineBase.h:210
NERTC_EXTERN_API NSString *const kNERtcKeyAutoSubscribeAudio
是否自动订阅其他用户的音频流。 布尔值,默认为 YES,即自动订阅。
定义 NERtcEngineBase.h:127
NERTC_EXTERN_API NSString *const kNERtcKeyAutoSubscribeVideo
是否自动订阅其他用户的视频流。 布尔值,默认值 NO,即不自动订阅。
定义 NERtcEngineBase.h:112
NERTC_EXTERN_API NSString *const kNERtcKeyAutoSubscribeData
是否自动订阅其他用户的数据通道。 布尔值,默认为 NO,即非自动订阅。
定义 NERtcEngineBase.h:142
NERTC_EXTERN_API NSString *const kNERtcKeyRecordAudioEnabled
是否开启云端音频录制。默认值 NO,即关闭音频录制。
定义 NERtcEngineBase.h:219
NERTC_EXTERN_API NSString *const kNERtcKeySupportCallkit
是否需要支持 Callkit 框架。 布尔值,默认为 NO。
定义 NERtcEngineBase.h:163
NERTC_EXTERN_API NSString *const kNERtcKeyDisableFirstJoinUserCreateChannel
定义 NERtcEngineBase.h:288
NERTC_EXTERN_API NSString *const kNERtcKeyRecordVideoEnabled
是否开启云端视频录制,默认值 NO,即关闭视频录制。
定义 NERtcEngineBase.h:228
NERTC_EXTERN_API NSString *const kNERtcKeyRecordType
云端录制模式。详细信息请参考 NERtcRecordType。
定义 NERtcEngineBase.h:237
NERTC_EXTERN_API NSString *const kNERtcKeyVideoPreferHWDecode
是否优先使用硬件解码视频数据。 布尔值,默认值 YES。 请在初始化(setupEngineWithContext)之前设置该参数,否则该参数会在下次初始化之后生效。
定义 NERtcEngineBase.h:59
NERTC_EXTERN_API NSString *const KNERtcKeyEnableReportVolumeWhenMute
本地用户静音时是否返回原始音量。 布尔值,默认值为 false。
定义 NERtcEngineBase.h:176
NERTC_EXTERN_API NSString *const kNERtcKeyVideoCaptureObserverEnabled
是否需要开启视频数据采集回调,开启后开发者可以获取到原始视频数据。 布尔值,默认值 NO。 开启后如果需要关闭,需要通过调用 destroyEngine 来清除。
定义 NERtcEngineBase.h:70
NERTC_EXTERN_API NSString *const kNERtcKeyDisableVideoDecoder
是否关闭 sdk 视频解码(默认不关闭),关闭后 SDK 将不会解码远端视频,因此也无法渲染接收到的远端视频
定义 NERtcEngineBase.h:278
NERTC_EXTERN_API uint32_t const NERtcAudioMixingDefaultVolume
定义 NERtcEngineBase.h:697
NERtcPreDecoderMediaType
媒体类型。
定义 NERtcEngineEnum.h:2708
NERtcVideoColorSpacePrimary
视频颜色空间主色。
定义 NERtcEngineEnum.h:1670
NERtcLiveStreamMode
直播推流模式。
定义 NERtcEngineEnum.h:3446
NERtcVideoColorSpaceRange
视频颜色范围。
定义 NERtcEngineEnum.h:1489
NERtcVideoCropMode
视频裁剪模式
定义 NERtcEngineEnum.h:948
NERtcLastmileProbeResultState
Last mile 质量探测结果的状态。
定义 NERtcEngineEnum.h:3992
NERtcLogLevel
日志级别。
定义 NERtcEngineEnum.h:4085
NERtcVideoCodecType
定义 NERtcEngineEnum.h:2740
NERtcVideoFormatType
视频格式类型
定义 NERtcEngineEnum.h:1087
NERtcVirtualBackgroundSourceType
自定义背景图片的类型。
定义 NERtcEngineEnum.h:1232
NERtcVideoWatermarkType
视频水印类型。
定义 NERtcEngineEnum.h:1316
NERtcLiveStreamVideoScaleMode
直播推流模式。
定义 NERtcEngineEnum.h:3475
NERtcSubStreamContentPrefer
屏幕共享功能的编码策略倾向
定义 NERtcEngineEnum.h:672
NERtcLiveStreamAudioCodecProfile
直播推流音频编码规格。
定义 NERtcEngineEnum.h:3417
#define NERTC_EXTERN_API
定义 NERtcEngineEnum.h:18
NERtcAudioRecordingQuality
录音音质。
定义 NERtcEngineEnum.h:2588
NERtcAudioRecordingPosition
定义 NERtcEngineEnum.h:2678
NERtcPayLoadType
定义 NERtcEngineEnum.h:4072
NERtcVideoOutputOrientationMode
视频旋转方向模式。
定义 NERtcEngineEnum.h:900
NERtcVideoProfileType
视频 profile 类型。
定义 NERtcEngineEnum.h:447
NERtcVideoColorSpaceTransfer
视频颜色空间传输。
定义 NERtcEngineEnum.h:1798
NERtcNalFrameType
定义 NERtcEngineEnum.h:4055
NERtcVideoColorSpaceMatrix
视频颜色空间矩阵。
定义 NERtcEngineEnum.h:1524
NERtcBlurDegree
自定义背景图的虚化程度。
定义 NERtcEngineEnum.h:1275
NERtcAudioType
音频类型
定义 NERtcEngineEnum.h:3545
NERtcVideoMirrorMode
视频镜像模式。
定义 NERtcEngineEnum.h:862
NERtcAudioFrameOpMode
音频数据读写模式
定义 NERtcEngineEnum.h:3565
NERtcEncryptionMode
加密模式
定义 NERtcEngineEnum.h:3961
NERtcAudioRecordingCycleTime
定义 NERtcEngineEnum.h:2687
NERtcSpatializerMaterialName
空间音效中房间材质名称
定义 NERtcEngineEnum.h:2355
NERtcDegradationPreference
带宽受限时视频编码适应性偏好
定义 NERtcEngineEnum.h:621
NERtcLiveStreamAudioSampleRate
直播推流音频采样率。
定义 NERtcEngineEnum.h:3379
#define NERTC_EXPORT
定义 NERtcEngineEnum.h:12
NERtcVideoFrameRate
视频帧率。
定义 NERtcEngineEnum.h:535
NERtcVideoRenderScaleMode
视频渲染缩放模式。
定义 NERtcEngineEnum.h:794
NERtcSpatializerRoomCapacity
空间音效房间大小
定义 NERtcEngineEnum.h:2325
NERtcAudioStreamType
音频流类型,目前同时支持音频两路流:主流和辅流
定义 NERtcEngineEnum.h:2299
NERtcVideoRotationType
视频数据的旋转方向
定义 NERtcEngineEnum.h:1033
定义 NERtcEngineBase.h:3289
定义 NERtcEngineBase.h:3356
编码好的音频数据
定义 NERtcEngineBase.h:3003
音频格式。
定义 NERtcEngineBase.h:1467
音频帧。
定义 NERtcEngineBase.h:1532
音频原始数据回调格式(默认不设置)。
定义 NERtcEngineBase.h:1419
定义 NERtcEngineBase.h:916
声音音量信息。
定义 NERtcEngineBase.h:1577
本地视频基础发送配置。
定义 NERtcEngineBase.h:368
摄像头采集配置。
定义 NERtcEngineBase.h:491
定义 NERtcEngineBase.h:1806
媒体流转发相关的数据结构。
定义 NERtcEngineBase.h:1774
Options for creating audio effects
定义 NERtcEngineBase.h:819
Options for creating mixing audios
定义 NERtcEngineBase.h:701
配置媒体流加密模式和密钥。
定义 NERtcEngineBase.h:2235
joinChannel 回调时的一些可选信息
定义 NERtcEngineBase.h:2834
joinChannel 时的一些可选信息
定义 NERtcEngineBase.h:2813
Last mile 网络探测配置。
定义 NERtcEngineBase.h:2422
单向 Last mile 网络质量探测结果报告。
定义 NERtcEngineBase.h:2491
上下行 Last mile 网络质量探测结果。
定义 NERtcEngineBase.h:2535
音视频流编码参数等设置
定义 NERtcEngineBase.h:944
图片布局。
定义 NERtcEngineBase.h:1165
直播布局。
定义 NERtcEngineBase.h:1250
直播推流任务的配置。
定义 NERtcEngineBase.h:1321
直播成员布局。
定义 NERtcEngineBase.h:1037
日志相关设置。
定义 NERtcEngineBase.h:2589
低延时直播参数
定义 NERtcEngineBase.h:2793
定义 NERtcEngineBase.h:3163
定义 NERtcEngineBase.h:3252
3D 音效算法中坐标信息。
定义 NERtcEngineBase.h:3053
编码完的视频帧数据
定义 NERtcEngineBase.h:2895
编码完的媒体数据帧
定义 NERtcEngineBase.h:2913
编码完的音频帧数据
定义 NERtcEngineBase.h:2873
定义 NERtcEngineBase.h:3228
混响参数
定义 NERtcEngineBase.h:2724
私有化服务器配置项
定义 NERtcEngineBase.h:2278
3D 音效房间属性设置。
定义 NERtcEngineBase.h:3129
定义 NERtcEngineBase.h:3189
onUserJoined 回调时的一些可选信息
定义 NERtcEngineBase.h:2847
onUserLeave 回调时的一些可选信息
定义 NERtcEngineBase.h:2859
视频画布设置。
定义 NERtcEngineBase.h:299
uint32_t backgroundColor
定义 NERtcEngineBase.h:355
id< NERtcEngineVideoRenderSink > externalVideoRender
外部渲染器。
定义 NERtcEngineBase.h:352
BOOL useExternalRender
是否使用外部渲染器,默认 NO 不使用,若使用 SDK 内部会根据 externalVideoRender 来进行绑定,若不使用 SDK 内部根据 container 来进行绑定。暂不支持在通话中切换内...
定义 NERtcEngineBase.h:308
NERtcVideoRenderScaleMode renderMode
视频渲染模式。
定义 NERtcEngineBase.h:328
VIEW_CLASS * container
视频窗口容器(SDK 内部渲染)。
定义 NERtcEngineBase.h:318
NERtcVideoMirrorMode mirrorMode
视频镜像模式。
定义 NERtcEngineBase.h:342
视频图像畸变矫正相关设置。
定义 NERtcEngineBase.h:2623
本地视频发送配置
定义 NERtcEngineBase.h:555
定义 NERtcEngineBase.h:2961
视频帧信息。
定义 NERtcEngineBase.h:1622
本地辅流发送配置。
定义 NERtcEngineBase.h:661
视频水印设置,目前支持三种类型的水印,但只能其中选择一种水印生效。
定义 NERtcEngineBase.h:2181
视频图片水印配置。
定义 NERtcEngineBase.h:1892
定义 NERtcEngineBase.h:1978
定义 NERtcEngineBase.h:2080
自定义背景图像。
定义 NERtcEngineBase.h:2660