NERtc iOS SDK  V5.5.40
NERtcEngineBase.h
浏览该文件的文档.
1 /*
2  * Copyright (c) 2021 NetEase, Inc. All rights reserved.
3  */
4 
5 #import <Foundation/Foundation.h>
6 #import "NERtcEngineEnum.h"
7 
10 
11 NS_ASSUME_NONNULL_BEGIN
12 
22 // channel
36 
37 // video
101 
112 NERTC_EXTERN_API NSString * const kNERtcKeyAutoSubscribeVideo; // BOOL -- 其他用户打开视频时,自动订阅。只支持在通话前设置,通话中设置无效。 默认值 NO 。
113 
114 // audio
128 
129 // data channel
143 
156 
164 
196 
197 
198 // server record
235 
236 // live stream
248 
249 // log level
268 
276 
283 
284 
286 
295 NERTC_EXPORT @interface NERtcVideoCanvas : NSObject
296 
305 @property (nonatomic, assign) BOOL useExternalRender;
306 
315 @property (nonatomic, nullable, strong) VIEW_CLASS *container;
316 
325 @property (nonatomic, assign) NERtcVideoRenderScaleMode renderMode;
326 
339 @property (nonatomic, assign) NERtcVideoMirrorMode mirrorMode;
340 
349 @property (nonatomic, strong) id<NERtcEngineVideoRenderSink> externalVideoRender;
350 
351 // 背景颜色,格式为 0xRRGGBB,默认为黑色即 0x000000
352 @property (nonatomic, assign) uint32_t backgroundColor;
353 
354 @end
355 
365 
374 @property (nonatomic, assign) NERtcVideoProfileType maxProfile;
375 
392 @property (nonatomic, assign) NERtcVideoFrameRate frameRate;
393 
402 @property (nonatomic, assign) NSInteger minFrameRate;
403 
465 @property (nonatomic, assign) NSInteger bitrate;
466 
475 @property (nonatomic, assign) NSInteger minBitrate;
476 
477 @end
478 
488 
509 @property (nonatomic, assign) int captureWidth;
530 @property (nonatomic, assign) int captureHeight;
531 
532 @end
542 
559 @property (nonatomic, assign) int width;
560 
577 @property (nonatomic, assign) int height;
578 
587 @property (nonatomic, assign) NERtcVideoCropMode cropMode;
588 
609 @property (nonatomic, assign) NERtcDegradationPreference degradationPreference;
610 
622 @property (nonatomic, assign) NERtcVideoMirrorMode mirrorMode;
623 
634 @property (nonatomic, assign) NERtcVideoOutputOrientationMode orientationMode;
635 
636 
637 @end
638 
648 
657 @property (nonatomic, assign) NERtcSubStreamContentPrefer contentPrefer;
658 
679 @property (nonatomic, assign) NERtcDegradationPreference degradationPreference;
680 
681 @end
682 
685 
688 
701 @property (nonatomic, copy) NSString *path;
702 
715 @property (nonatomic, assign) int loopCount;
716 
725 @property (nonatomic, assign) BOOL sendEnabled;
726 
735 @property (nonatomic, assign) BOOL playbackEnabled;
736 
747 @property (nonatomic, assign) uint32_t sendVolume;
748 
759 @property (nonatomic, assign) uint32_t playbackVolume;
760 
769 @property (nonatomic, assign) int64_t startTimeStamp;
770 
779 @property (nonatomic, assign) NERtcAudioStreamType sendWithAudioType;
780 
786 @property (nonatomic, assign) uint64_t progressInterval;
787 
800 - (BOOL)isInvalid;
801 
802 @end
803 
806 
819 @property (nonatomic, copy) NSString *path;
820 
833 @property (nonatomic, assign) int loopCount;
834 
843 @property (nonatomic, assign) BOOL sendEnabled;
844 
853 @property (nonatomic, assign) BOOL playbackEnabled;
854 
865 @property (nonatomic, assign) uint32_t sendVolume;
866 
877 @property (nonatomic, assign) uint32_t playbackVolume;
878 
884 @property (nonatomic, assign) int64_t startTimeStamp;
885 
891 @property (nonatomic, assign) NERtcAudioStreamType sendWithAudioType;
892 
898 @property (nonatomic, assign) uint64_t progressInterval;
899 
900 @end
901 
903 
904 // 录音文件在本地保存的绝对路径,需要精确到文件名及格式。例如:sdcard/xxx/audio.aac。请确保指定的路径存在并且可写。目前仅支持 WAV 或 AAC 文件格式。
905 @property (nonatomic, copy) NSString *filePath;
906 
907 // 录音采样率(Hz),可以设为 16000、32000(默认)、44100 或 48000。
908 @property (nonatomic, assign) int sampleRate;
909 
910 // 录音音质,只在 AAC 格式下有效。详细信息请参考 {@link NERtcAudioRecordingQuality}。
911 @property (nonatomic, assign) NERtcAudioRecordingQuality quality;
912 
913 // 录音文件所包含的内容。详细信息请参考 {@link NERtcAudioRecordingPosition}。
914 @property (nonatomic, assign) NERtcAudioRecordingPosition position;
915 
916 // 录制过程中,循环缓存的最大时间长度,单位(s)。详细信息请参考 {@link NERtcAudioRecordingCycleTime}。
917 @property (nonatomic, assign) NERtcAudioRecordingCycleTime cycleTime;
918 
919 @end
920 
921 #pragma mark - live stream
930 NERTC_EXPORT @interface NERtcLiveConfig: NSObject
931 
940 @property (nonatomic, assign) BOOL interruptedPlaceImage;
941 
954 @property (nonatomic, assign) BOOL singleVideoPassthrough;
967 @property (nonatomic, assign) NSInteger audioBitrate;
968 
983 @property (nonatomic, assign) NERtcLiveStreamAudioSampleRate sampleRate;
984 
997 @property (nonatomic, assign) NSInteger channels;
998 
1011 @property (nonatomic, assign) NERtcLiveStreamAudioCodecProfile audioCodecProfile;
1012 
1013 @end
1014 
1024 
1033 @property (nonatomic, assign) uint64_t uid;
1034 
1049 @property (nonatomic, assign) BOOL videoPush;
1050 
1063 @property (nonatomic, assign) NSInteger x;
1064 
1077 @property (nonatomic, assign) NSInteger y;
1078 
1091 @property (nonatomic, assign) NSInteger width;
1092 
1105 @property (nonatomic, assign) NSInteger height;
1106 
1119 @property (nonatomic, assign) BOOL audioPush;
1120 
1129 @property (nonatomic, assign) NSInteger zOrder;
1130 
1139 @property (nonatomic, assign) NERtcLiveStreamVideoScaleMode adaption;
1140 
1141 @end
1142 
1152 
1161 @property (nonatomic, copy) NSString *url;
1162 
1175 @property (nonatomic, assign) NSInteger x;
1176 
1189 @property (nonatomic, assign) NSInteger y;
1190 
1201 @property (nonatomic, assign) NSInteger width;
1202 
1213 @property (nonatomic, assign) NSInteger height;
1214 
1224 @property (nonatomic, assign) int zorder;
1225 
1226 @end
1227 
1237 
1246 @property (nonatomic, assign) NSInteger width;
1247 
1256 @property (nonatomic, assign) NSInteger height;
1257 
1266 @property (nonatomic, assign) NSUInteger backgroundColor;
1267 
1276 @property (nonatomic, strong) NSArray<NERtcLiveStreamUserTranscoding *> * users;
1277 
1287 @property (nonatomic, nullable, strong) NERtcLiveStreamImageInfo* bgImage;
1288 
1295 @property (nonatomic, nullable, strong) NSArray<NERtcLiveStreamImageInfo*> * bgImages;
1296 
1297 @end
1298 
1308 
1317 @property (nonatomic, copy) NSString *taskID;
1318 
1329 @property (nonatomic, copy) NSString *streamURL;
1330 
1339 @property (nonatomic, assign) BOOL serverRecordEnabled;
1340 
1349 @property (nonatomic, assign) NERtcLiveStreamMode lsMode;
1350 
1359 @property (nonatomic, nullable, strong) NERtcLiveStreamLayout *layout;
1360 
1369 @property (nonatomic, nullable, strong) NERtcLiveConfig *config;
1370 
1379 @property (nonatomic, nullable, copy) NSString *extraInfo;
1380 
1389 - (BOOL)isInvalid;
1390 
1391 @end
1392 
1393 
1394 #pragma mark -- Audio Frame Observer
1404 
1419 @property (nonatomic, assign) uint32_t channels;
1420 
1429 @property (nonatomic, assign) uint32_t sampleRate;
1430 
1439 @property (nonatomic, assign) NERtcAudioFrameOpMode mode;
1440 
1441 @end
1442 
1451 NERTC_EXPORT @interface NERtcAudioFormat : NSObject
1452 
1461 @property (nonatomic, assign) NERtcAudioType type;
1474 @property (nonatomic, assign) uint32_t channels;
1475 
1484 @property (nonatomic, assign) uint32_t sampleRate;
1485 
1494 @property (nonatomic, assign) uint32_t bytesPerSample;
1495 
1504 @property (nonatomic, assign) uint32_t samplesPerChannel;
1505 
1506 @end
1507 
1516 NERTC_EXPORT @interface NERtcAudioFrame : NSObject
1517 
1526 @property (nonatomic, strong) NERtcAudioFormat* format;
1527 
1536 @property (nonatomic, assign) void* data;
1537 
1546 @property (nonatomic, assign) int64_t syncTimestamp;
1547 
1548 @end
1549 
1550 
1551 #pragma mark - Volume info
1552 
1561 NERTC_EXPORT @interface NERtcAudioVolumeInfo : NSObject
1562 
1571 @property (nonatomic, assign) uint64_t uid;
1572 
1581 @property (nonatomic, assign) unsigned int volume;
1582 
1592 @property (nonatomic, assign) unsigned int subStreamVolume;
1593 
1594 @end
1595 
1596 #pragma mark - Video Frame
1597 
1606 NERTC_EXPORT @interface NERtcVideoFrame : NSObject
1607 
1617 @property(nonatomic, assign) NERtcVideoFormatType format;
1618 
1627 @property(nonatomic, assign) uint64_t timestamp;
1628 
1637 @property(nonatomic, assign) uint32_t width;
1638 
1647 @property(nonatomic, assign) uint32_t height;
1648 
1657 @property(nonatomic, assign) NERtcVideoRotationType rotation;
1658 
1671 @property(nonatomic) void * buffer;
1672 
1680 @property(nonatomic) void * uBuffer;
1681 
1689 @property(nonatomic) void * vBuffer;
1690 
1700 @property(nonatomic, strong) NSArray<NSNumber *> *strides;
1701 
1702 // Metal 纹理
1703 // 目前该参数仅在外部渲染视频的场景下有实际意义。
1704 @property(nonatomic, strong) id<MTLTexture> texture;
1705 
1706 @end
1707 
1708 #pragma mark- MediaRelay
1709 
1719 
1728 @property (nonatomic, copy)NSString *channelName;
1737 @property (nonatomic, copy)NSString *token;
1746 @property (nonatomic, assign)uint64_t uid;
1747 
1748 @end
1749 
1751 
1766 @property(nonatomic, strong, readonly)NSDictionary<NSString *, NERtcChannelMediaRelayInfo *> * _Nullable destinationInfos;
1767 
1782 @property(nonatomic, strong)NERtcChannelMediaRelayInfo *sourceInfo;
1783 
1800 - (BOOL)setDestinationInfo:(NERtcChannelMediaRelayInfo *_Nonnull)destinationInfo forChannelName:(NSString *_Nonnull)channelName;
1801 
1814 - (BOOL)removeDestinationInfoForChannelName:(NSString *_Nonnull)channelName;
1815 
1816 @end
1817 
1818 #pragma mark - watermark
1819 
1837 
1846 @property (nonatomic, assign) CGFloat wmAlpha;
1847 
1856 @property (nonatomic, assign) NSUInteger wmWidth;
1857 
1866 @property (nonatomic, assign) NSUInteger wmHeight;
1867 
1876 @property (nonatomic, assign) NSUInteger offsetX;
1877 
1886 @property (nonatomic, assign) NSUInteger offsetY;
1887 
1896 @property (nonatomic, strong) NSArray<NSString *> *imagePaths;
1897 
1908 @property (nonatomic, assign) NSUInteger fps;
1909 
1918 @property (nonatomic, assign) BOOL loop;
1919 
1920 @end
1921 
1923 
1932 @property (nonatomic, copy) NSString *content;
1933 
1939 @property (nonatomic, copy) NSString *fontName;
1940 
1949 @property (nonatomic, assign) NSUInteger fontColor;
1950 
1959 @property (nonatomic, assign) NSUInteger fontSize;
1960 
1969 @property (nonatomic, assign) CGFloat wmAlpha;
1970 
1980 @property (nonatomic, assign) NSUInteger wmColor;
1981 
1990 @property (nonatomic, assign) NSUInteger wmWidth;
1991 
2000 @property (nonatomic, assign) NSUInteger wmHeight;
2001 
2010 @property (nonatomic, assign) NSUInteger offsetX;
2011 
2020 @property (nonatomic, assign) NSUInteger offsetY;
2021 
2022 @end
2023 
2025 
2031 @property (nonatomic, copy) NSString *fontName;
2032 
2041 @property (nonatomic, assign) NSUInteger fontColor;
2042 
2051 @property (nonatomic, assign) NSUInteger fontSize;
2052 
2061 @property (nonatomic, assign) CGFloat wmAlpha;
2062 
2073 @property (nonatomic, assign) NSUInteger wmColor;
2074 
2083 @property (nonatomic, assign) NSUInteger wmWidth;
2084 
2093 @property (nonatomic, assign) NSUInteger wmHeight;
2094 
2103 @property (nonatomic, assign) NSUInteger offsetX;
2104 
2113 @property (nonatomic, assign) NSUInteger offsetY;
2114 
2115 @end
2116 
2126 
2135 @property (nonatomic, assign) NERtcVideoWatermarkType watermarkType;
2136 
2145 @property (nonatomic, strong) NERtcVideoWatermarkImageConfig *imageWatermark;
2146 
2155 @property (nonatomic, strong) NERtcVideoWatermarkTextConfig *textWatermark;
2156 
2165 @property (nonatomic, strong) NERtcVideoWatermarkTimestampConfig *timestampWatermark;
2166 
2167 @end
2168 
2169 #pragma mark - Encryption
2170 
2180 
2189 @property (nonatomic, assign) NERtcEncryptionMode mode;
2190 
2199 @property (nonatomic, copy, nullable) NSString *key;
2200 
2206 @property (nonatomic, weak, nullable) id<NERtcEnginePacketObserver> observer;
2207 
2208 @end
2209 
2210 #pragma mark - privatization
2211 
2222 NERTC_EXPORT @interface NERtcServerAddresses : NSObject
2223 
2232 @property (nonatomic, copy, nullable) NSString* lbsServer;
2233 
2242 @property (nonatomic, copy, nullable) NSString *channelServer;
2243 
2252 @property (nonatomic, copy, nullable) NSString *statisticsServer;
2253 
2262 @property (nonatomic, copy, nullable) NSString *statisticsDispatchServer;
2263 
2272 @property (nonatomic, copy, nullable) NSString *statisticsBackupServer;
2273 
2282 @property (nonatomic, copy, nullable) NSString *roomServer;
2283 
2292 @property (nonatomic, copy, nullable) NSString *compatServer;
2293 
2302 @property (nonatomic, copy, nullable) NSString *nosLbsServer;
2303 
2312 @property (nonatomic, copy, nullable) NSString *nosUploadSever;
2313 
2322 @property (nonatomic, copy, nullable) NSString *nosTokenServer;
2323 
2332 @property (nonatomic, assign) BOOL useIPv6;
2333 
2337 @property (nonatomic, copy, nullable) NSString *cloudProxyServer;
2338 
2342 @property (nonatomic, copy, nullable) NSString *webSocketProxyServer;
2343 
2347 @property (nonatomic, copy, nullable) NSString *quicProxyServer;
2348 
2352 @property (nonatomic, copy, nullable) NSString *mediaProxyServer;
2353 
2354 @end
2355 
2356 #pragma mark - NERtcLastmileProbeConfig
2357 
2367 
2382 @property(nonatomic, assign) BOOL probeUplink;
2383 
2396 @property(nonatomic, assign) BOOL probeDownlink;
2397 
2410 @property(nonatomic, assign) NSUInteger expectedUplinkBitrate;
2411 
2421 @property(nonatomic, assign) NSUInteger expectedDownlinkBitrate;
2422 
2423 @end
2424 
2425 #pragma mark - NERtcLastmileProbeOneWayResult
2426 
2436 
2445 @property(nonatomic, assign) NSUInteger packetLossRate;
2446 
2455 @property(nonatomic, assign) NSUInteger jitter;
2456 
2465 @property(nonatomic, assign) NSUInteger availableBandwidth;
2466 
2467 @end
2468 
2469 #pragma mark - NERtcLastmileProbeResult
2470 
2480 
2489 @property(nonatomic, assign) NERtcLastmileProbeResultState state;
2490 
2499 @property(nonatomic, assign) NSUInteger rtt;
2500 
2509 @property(nonatomic, strong) NERtcLastmileProbeOneWayResult *uplinkReport;
2510 
2519 @property(nonatomic, strong) NERtcLastmileProbeOneWayResult *downlinkReport;
2520 
2521 @end
2522 
2523 #pragma mark -- Log setting
2524 
2533 NERTC_EXPORT @interface NERtcLogSetting : NSObject
2534 
2543 @property (nonatomic, copy) NSString *logDir;
2544 
2553 @property (nonatomic, assign) NERtcLogLevel logLevel;
2554 
2555 @end
2556 
2557 #pragma mark - Video Correction Config
2558 
2568 
2569 // 矫正区域的左上顶点(x 和 y 的取值范围为 0 ~ 1 的浮点数)
2570 @property (nonatomic, assign) CGPoint topLeft;
2571 
2572 // 矫正区域的右上顶点(x 和 y 的取值范围为 0 ~ 1 的浮点数)
2573 @property (nonatomic, assign) CGPoint topRight;
2574 
2575 // 矫正区域的左下顶点(x 和 y 的取值范围为 0 ~ 1 的浮点数)
2576 @property (nonatomic, assign) CGPoint bottomLeft;
2577 
2578 // 矫正区域的右下顶点(x 和 y 的取值范围为 0 ~ 1 的浮点数)
2579 @property (nonatomic, assign) CGPoint bottomRight;
2580 
2581 // 画布宽度(单位 px,使用外部视频渲染时需要传递)
2582 @property (nonatomic, assign) CGFloat canvasWidth;
2583 
2584 // 画布高度(单位 px,使用外部视频渲染时需要传递)
2585 @property (nonatomic, assign) CGFloat canvasHeight;
2586 
2587 // 是否镜像显示(使用外部视频渲染时需要传递)
2588 @property (nonatomic, assign) BOOL enableMirror;
2589 
2590 @end
2591 
2592 #pragma mark - NERtcVirtualBackgroundSource
2593 
2605 
2614 @property (nonatomic, assign) NERtcVirtualBackgroundSourceType backgroundSourceType;
2615 
2630 @property (nonatomic, assign) NSUInteger color;
2631 
2642 @property (nonatomic, copy) NSString *source;
2643 
2654 @property (nonatomic, assign) NERtcBlurDegree blur_degree;
2655 
2656 @end
2657 
2658 #pragma mark - Audio Effect
2659 
2668 NERTC_EXPORT @interface NERtcReverbParam : NSObject
2669 
2678 @property (nonatomic, assign) float wetGain;
2679 
2688 @property (nonatomic, assign) float dryGain;
2689 
2698 @property (nonatomic, assign) float damping;
2699 
2708 @property (nonatomic, assign) float roomSize;
2709 
2718 @property (nonatomic, assign) float decayTime;
2719 
2728 @property (nonatomic, assign) float preDelay;
2729 
2730 @end
2731 
2732 #pragma mark - extraInfo
2733 
2738 
2742 @property (nonatomic, nullable, copy) NSString *customInfo;
2743 
2749 @property (nonatomic, nullable, copy) NSString *permissionKey;
2750 
2751 @end
2752 
2757 
2761 @property (nonatomic, copy) NSString *customInfo;
2762 
2763 
2764 @end
2765 
2770 
2774 @property (nonatomic, copy) NSString *customInfo;
2775 
2776 @end
2777 
2782 
2786 @property (nonatomic, copy) NSString *customInfo;
2787 
2788 @end
2789 
2790 #pragma mark - preDecoder
2791 
2799 @property (nonatomic, assign) int width;
2800 
2804 @property (nonatomic, assign) int height;
2805 
2809 @property (nonatomic, assign) BOOL isKeyFrame;
2810 
2811 @end
2812 
2813 
2818 
2822 @property (nonatomic, assign) uint32_t perTimeMs;
2823 
2827 @property (nonatomic, assign) uint8_t toc;
2828 
2829 @end
2830 
2831 
2839 @property (nonatomic, assign) NERtcPreDecoderMediaType mediaType;
2840 
2844 @property (nonatomic, assign) uint64_t uid;
2845 
2849 @property (nonatomic, assign) int64_t timestampMs;
2850 
2854 @property (nonatomic, assign) uint8_t *data;
2855 
2859 @property (nonatomic, assign) int length;
2860 
2864 @property (nonatomic, copy) NSString *codec;
2865 
2869 @property (nonatomic, assign) BOOL isMainStream;
2870 
2874 @property (nonatomic, strong) NERtcPreDecoderVideoInfo *videoInfo;
2875 
2879 @property (nonatomic, strong) NERtcPreDecoderAudioInfo *audioInfo;
2880 
2881 @end
2882 
2884 
2885 /***
2886 * 编码器类型
2887 */
2888 @property (nonatomic, assign) NERtcVideoCodecType codecType;
2889 
2893 @property (nonatomic, assign) NERtcNalFrameType frameType;
2894 
2898 @property (nonatomic, copy) NSArray<NSNumber *> *nalLengths;
2899 
2903 @property (nonatomic, assign) unsigned char *nalData;
2904 
2908 @property (nonatomic, assign) int64_t timestampUs;
2909 
2913 @property (nonatomic, assign) int width;
2914 
2918 @property (nonatomic, assign) int height;
2919 
2920 @end
2921 
2926 
2930 @property (nonatomic, assign) unsigned char *data;
2931 
2935 @property (nonatomic, assign) int64_t timeStampUs;
2936 
2940 @property (nonatomic, assign) int sampleRate;
2941 
2945 @property (nonatomic, assign) int channels;
2946 
2950 @property (nonatomic, assign) int samplesPerChannel;
2951 
2955 @property (nonatomic, assign) int encodedLen;
2956 
2960 @property (nonatomic, assign) uint32_t encodedTimestamp;
2961 
2965 @property (nonatomic, assign) NERtcPayLoadType payloadType;
2966 
2970 @property (nonatomic, assign) uint8_t rmsLevel;
2971 
2972 @end
2973 
2975 NERTC_EXPORT @interface NERtcPositionInfo : NSObject
2976 
2980 @property(nonatomic, assign) CGFloat speakerPositionX;
2981 
2985 @property(nonatomic, assign) CGFloat speakerPositionY;
2986 
2990 @property(nonatomic, assign) CGFloat speakerPositionZ;
2991 
2995 @property(nonatomic, assign) CGFloat speakerQuaternionX;
2996 
3000 @property(nonatomic, assign) CGFloat speakerQuaternionY;
3001 
3005 @property(nonatomic, assign) CGFloat speakerQuaternionZ;
3006 
3010 @property(nonatomic, assign) CGFloat speakerQuaternionW;
3011 
3015 @property(nonatomic, assign) CGFloat headPositionX;
3016 
3020 @property(nonatomic, assign) CGFloat headPositionY;
3021 
3025 @property(nonatomic, assign) CGFloat headPositionZ;
3026 
3030 @property(nonatomic, assign) CGFloat headQuaternionX;
3031 
3035 @property(nonatomic, assign) CGFloat headQuaternionY;
3036 
3040 @property(nonatomic, assign) CGFloat headQuaternionZ;
3041 
3045 @property(nonatomic, assign) CGFloat headQuaternionW;
3046 
3047 @end
3048 
3051 
3055 @property (nonatomic, assign) NERtcSpatializerRoomCapacity roomCapacity;
3056 
3060 @property (nonatomic, assign) NERtcSpatializerMaterialName material;
3061 
3065 @property (nonatomic, assign) CGFloat reflectionScalar;
3066 
3070 @property (nonatomic, assign) CGFloat reverbGain;
3071 
3075 @property (nonatomic, assign) CGFloat reverbTime;
3076 
3080 @property (nonatomic, assign) CGFloat reverbBrightness;
3081 
3082 @end
3083 
3084 NERTC_EXPORT @interface NERtcPacket : NSObject
3085 
3089 @property (nonatomic, assign) const unsigned char* buffer;
3090 
3094 @property (nonatomic, assign) long size;
3095 
3096 @end
3097 
3098 
3099 NS_ASSUME_NONNULL_END
NERTC_EXTERN_API uint32_t const NERtcAudioMixingMaxVolume
Definition: NERtcEngineBase.h:683
NERTC_EXTERN_API NSString *const kNERtcKeyVideoStartWithBackCamera
第一次开启摄像头时,是否使用后摄像头。 布尔值,默认值 NO,即不使用后置摄像头。
Definition: NERtcEngineBase.h:80
NERTC_EXTERN_API NSString *const KNERtcKeyDisableSWAECOnHeadset
设置耳机时不使用软件回声消除功能,默认值 NO。如设置YES 则SDK在耳机模式下不使用软件回声消除功能,会对某些机型下 耳机的音质效果有影响
Definition: NERtcEngineBase.h:185
NERTC_EXTERN_API NSString *const kNERtcKeyExtraInfo
Login 事件中的一个自定义字段,适用于标识一些额外信息,例如 App 版本。
Definition: NERtcEngineBase.h:267
NERTC_EXTERN_API NSString *const KNERtcKeyAudioAINSEnable
是否开启 AI 降噪。 NERTC SDK 自研 AI 降噪算法,开启 AI 降噪之后,在嘈杂的环境中可以针对背景人声、键盘声等非稳态噪声进行定向降噪,同时也会提升对于环境稳态噪声的抑制,保留更纯粹的...
Definition: NERtcEngineBase.h:195
NERTC_EXTERN_API NSString *const kNERtcKeyLoginCustomData
登录扩展参数,string,默认不设置。
Definition: NERtcEngineBase.h:282
NERTC_EXTERN_API NSString *const kNERtcKeyLogLevel
SDK 日志等级,默认为 kNERtcLogLevelInfo,详细信息请参考 NERtcLogLevel。
Definition: NERtcEngineBase.h:258
NS_ASSUME_NONNULL_BEGIN NERTC_EXTERN_API NSString *const kNERtcKeyChannel1V1ModeEnabled
以下 key 用于 INERtcEngine::setParameters
Definition: NERtcEngineBase.h:9
NERTC_EXTERN_API NSString *const kNERtcKeyPublishSelfStreamEnabled
在旁路推流场景中,是否允许推送本地媒体流到 CDN。默认值 YES。
Definition: NERtcEngineBase.h:247
NERTC_EXTERN_API NSString *const kNERtcKeyVideoPreferMetalRender
是否优先使用 Metal 渲染。 布尔值,默认值 NO,即使用OpenGL 渲染。
Definition: NERtcEngineBase.h:90
NERTC_EXTERN_API NSString *const KNERtcKeyDisableOverrideSpeakerOnReceiver
当系统切换听筒或扬声器时,SDK 是否以系统设置为准。 布尔值,默认为 NO。
Definition: NERtcEngineBase.h:155
NERTC_EXTERN_API NSString *const kNERtcKeyVideoPreferHWEncode
是否优先使用硬件编码视频数据。 布尔值,默认值 YES。 请在初始化(setupEngineWithContext)之前设置该参数,否则该参数会在下次初始化之后生效。
Definition: NERtcEngineBase.h:48
NERTC_EXTERN_API NSString *const kNERtcKeyVideoSendOnPubType
通话开始时,默认发送的流类型,通话前设置有效。 int 类型,默认为 3,即大流。详细信息请参考 NERtcVideoPubMode。
Definition: NERtcEngineBase.h:100
NERTC_EXTERN_API NSString *const kNERtcKeyRecordHostEnabled
是否云端录制主讲人,默认值 NO
Definition: NERtcEngineBase.h:207
NERTC_EXTERN_API NSString *const kNERtcKeyAutoSubscribeAudio
是否自动订阅其他用户的音频流。 布尔值,默认为 YES,即自动订阅。
Definition: NERtcEngineBase.h:127
NERTC_EXTERN_API NSString *const kNERtcKeyAutoSubscribeVideo
是否自动订阅其他用户的视频流。 布尔值,默认值 NO,即不自动订阅。
Definition: NERtcEngineBase.h:112
NERTC_EXTERN_API NSString *const kNERtcKeyAutoSubscribeData
是否自动订阅其他用户的数据通道。 布尔值,默认为 NO,即非自动订阅。
Definition: NERtcEngineBase.h:142
NERTC_EXTERN_API NSString *const kNERtcKeyRecordAudioEnabled
是否开启云端音频录制。默认值 NO,即关闭音频录制。
Definition: NERtcEngineBase.h:216
NERTC_EXTERN_API NSString *const kNERtcKeySupportCallkit
是否需要支持 Callkit 框架。 布尔值,默认为 NO。
Definition: NERtcEngineBase.h:163
NERTC_EXTERN_API NSString *const kNERtcKeyDisableFirstJoinUserCreateChannel
Definition: NERtcEngineBase.h:285
NERTC_EXTERN_API NSString *const kNERtcKeyRecordVideoEnabled
是否开启云端视频录制,默认值 NO,即关闭视频录制。
Definition: NERtcEngineBase.h:225
NERTC_EXTERN_API NSString *const kNERtcKeyRecordType
云端录制模式。详细信息请参考 NERtcRecordType。
Definition: NERtcEngineBase.h:234
NERTC_EXTERN_API NSString *const kNERtcKeyVideoPreferHWDecode
是否优先使用硬件解码视频数据。 布尔值,默认值 YES。 请在初始化(setupEngineWithContext)之前设置该参数,否则该参数会在下次初始化之后生效。
Definition: NERtcEngineBase.h:59
NERTC_EXTERN_API NSString *const KNERtcKeyEnableReportVolumeWhenMute
本地用户静音时是否返回原始音量。 布尔值,默认值为 false。
Definition: NERtcEngineBase.h:176
NERTC_EXTERN_API NSString *const kNERtcKeyVideoCaptureObserverEnabled
是否需要开启视频数据采集回调,开启后开发者可以获取到原始视频数据。 布尔值,默认值 NO。 开启后如果需要关闭,需要通过调用 destroyEngine 来清除。
Definition: NERtcEngineBase.h:70
NERTC_EXTERN_API NSString *const kNERtcKeyDisableVideoDecoder
是否关闭sdk 视频解码(默认不关闭),关闭后SDK 将不会解码远端视频,因此也无法渲染接收到的远端视频
Definition: NERtcEngineBase.h:275
NERTC_EXTERN_API uint32_t const NERtcAudioMixingDefaultVolume
Definition: NERtcEngineBase.h:684
NERtcPreDecoderMediaType
媒体类型。
Definition: NERtcEngineEnum.h:2115
NERtcLiveStreamMode
直播推流模式。
Definition: NERtcEngineEnum.h:2853
NERtcVideoCropMode
视频裁剪模式
Definition: NERtcEngineEnum.h:886
NERtcLastmileProbeResultState
Last mile 质量探测结果的状态。
Definition: NERtcEngineEnum.h:3399
NERtcLogLevel
日志级别。
Definition: NERtcEngineEnum.h:3492
NERtcVideoCodecType
Definition: NERtcEngineEnum.h:2147
NERtcVideoFormatType
视频格式类型
Definition: NERtcEngineEnum.h:1025
NERtcVirtualBackgroundSourceType
自定义背景图片的类型。
Definition: NERtcEngineEnum.h:1152
NERtcVideoWatermarkType
视频水印类型。
Definition: NERtcEngineEnum.h:1236
NERtcLiveStreamVideoScaleMode
直播推流模式。
Definition: NERtcEngineEnum.h:2882
NERtcSubStreamContentPrefer
屏幕共享功能的编码策略倾向
Definition: NERtcEngineEnum.h:619
NERtcLiveStreamAudioCodecProfile
直播推流音频编码规格。
Definition: NERtcEngineEnum.h:2824
#define NERTC_EXTERN_API
Definition: NERtcEngineEnum.h:18
NERtcAudioRecordingQuality
录音音质。
Definition: NERtcEngineEnum.h:1995
NERtcAudioRecordingPosition
Definition: NERtcEngineEnum.h:2085
NERtcPayLoadType
Definition: NERtcEngineEnum.h:3479
NERtcVideoOutputOrientationMode
视频旋转方向模式。
Definition: NERtcEngineEnum.h:838
NERtcVideoProfileType
视频 profile 类型。
Definition: NERtcEngineEnum.h:415
NERtcNalFrameType
Definition: NERtcEngineEnum.h:3462
NERtcBlurDegree
自定义背景图的虚化程度。
Definition: NERtcEngineEnum.h:1195
NERtcAudioType
音频类型
Definition: NERtcEngineEnum.h:2952
NERtcVideoMirrorMode
视频镜像模式。
Definition: NERtcEngineEnum.h:800
NERtcAudioFrameOpMode
音频数据读写模式
Definition: NERtcEngineEnum.h:2972
NERtcEncryptionMode
加密模式
Definition: NERtcEngineEnum.h:3368
NERtcAudioRecordingCycleTime
Definition: NERtcEngineEnum.h:2094
NERtcSpatializerMaterialName
空间音效中房间材质名称
Definition: NERtcEngineEnum.h:1762
NERtcDegradationPreference
带宽受限时视频编码适应性偏好
Definition: NERtcEngineEnum.h:568
NERtcLiveStreamAudioSampleRate
直播推流音频采样率。
Definition: NERtcEngineEnum.h:2786
#define NERTC_EXPORT
Definition: NERtcEngineEnum.h:12
NERtcVideoFrameRate
视频帧率。
Definition: NERtcEngineEnum.h:482
NERtcVideoRenderScaleMode
视频渲染缩放模式。
Definition: NERtcEngineEnum.h:732
NERtcSpatializerRoomCapacity
空间音效房间大小
Definition: NERtcEngineEnum.h:1732
NERtcAudioStreamType
音频流类型,目前同时支持音频两路流:主流和辅流
Definition: NERtcEngineEnum.h:1706
NERtcVideoRotationType
视频数据的旋转方向
Definition: NERtcEngineEnum.h:971
编码好的音频数据
Definition: NERtcEngineBase.h:2926
音频格式。
Definition: NERtcEngineBase.h:1452
音频帧。
Definition: NERtcEngineBase.h:1517
音频原始数据回调格式(默认不设置)。
Definition: NERtcEngineBase.h:1404
Definition: NERtcEngineBase.h:903
声音音量信息。
Definition: NERtcEngineBase.h:1562
本地视频基础发送配置。
Definition: NERtcEngineBase.h:365
摄像头采集配置。
Definition: NERtcEngineBase.h:488
Definition: NERtcEngineBase.h:1751
媒体流转发相关的数据结构。
Definition: NERtcEngineBase.h:1719
Options for creating audio effects
Definition: NERtcEngineBase.h:806
Options for creating mixing audios
Definition: NERtcEngineBase.h:688
配置媒体流加密模式和密钥。
Definition: NERtcEngineBase.h:2180
joinChannel 回调时的一些可选信息
Definition: NERtcEngineBase.h:2757
joinChannel 时的一些可选信息
Definition: NERtcEngineBase.h:2738
Last mile 网络探测配置。
Definition: NERtcEngineBase.h:2367
单向 Last mile 网络质量探测结果报告。
Definition: NERtcEngineBase.h:2436
上下行 Last mile 网络质量探测结果。
Definition: NERtcEngineBase.h:2480
音视频流编码参数等设置
Definition: NERtcEngineBase.h:931
图片布局。
Definition: NERtcEngineBase.h:1152
直播布局。
Definition: NERtcEngineBase.h:1237
直播推流任务的配置。
Definition: NERtcEngineBase.h:1308
直播成员布局。
Definition: NERtcEngineBase.h:1024
日志相关设置。
Definition: NERtcEngineBase.h:2534
Definition: NERtcEngineBase.h:3085
3D音效算法中坐标信息。
Definition: NERtcEngineBase.h:2976
编码完的视频帧数据
Definition: NERtcEngineBase.h:2818
编码完的媒体数据帧
Definition: NERtcEngineBase.h:2836
编码完的音频帧数据
Definition: NERtcEngineBase.h:2796
混响参数
Definition: NERtcEngineBase.h:2669
私有化服务器配置项
Definition: NERtcEngineBase.h:2223
3D音效房间属性设置。
Definition: NERtcEngineBase.h:3051
onUserJoined 回调时的一些可选信息
Definition: NERtcEngineBase.h:2770
onUserLeave 回调时的一些可选信息
Definition: NERtcEngineBase.h:2782
视频画布设置。
Definition: NERtcEngineBase.h:296
uint32_t backgroundColor
Definition: NERtcEngineBase.h:352
id< NERtcEngineVideoRenderSink > externalVideoRender
外部渲染器。
Definition: NERtcEngineBase.h:349
BOOL useExternalRender
是否使用外部渲染器,默认 NO 不使用,若使用SDK内部会根据externalVideoRender来进行绑定,若不使用SDK内部根据container来进行绑定。暂不支持在通话中切换内部渲染与外部渲染...
Definition: NERtcEngineBase.h:305
NERtcVideoRenderScaleMode renderMode
视频渲染模式。
Definition: NERtcEngineBase.h:325
VIEW_CLASS * container
视频窗口容器(SDK内部渲染)。
Definition: NERtcEngineBase.h:315
NERtcVideoMirrorMode mirrorMode
视频镜像模式。
Definition: NERtcEngineBase.h:339
视频图像畸变矫正相关设置。
Definition: NERtcEngineBase.h:2568
本地视频发送配置
Definition: NERtcEngineBase.h:542
Definition: NERtcEngineBase.h:2884
视频帧信息。
Definition: NERtcEngineBase.h:1607
本地辅流发送配置。
Definition: NERtcEngineBase.h:648
视频水印设置,目前支持三种类型的水印,但只能其中选择一种水印生效。
Definition: NERtcEngineBase.h:2126
视频图片水印配置。
Definition: NERtcEngineBase.h:1837
Definition: NERtcEngineBase.h:1923
Definition: NERtcEngineBase.h:2025
自定义背景图像。
Definition: NERtcEngineBase.h:2605
Definition: NERtcEngineDelegate.h:1853
外部视频渲染。
Definition: NERtcEngineDelegate.h:572