NERtc iOS SDK V5.6.30
载入中...
搜索中...
未找到
INERtcEngineEx.h
浏览该文件的文档.
1/*
2 * Copyright (c) 2021 NetEase, Inc. All rights reserved.
3 */
4
5#ifndef INERtcEngineEx_h
6#define INERtcEngineEx_h
7
8#import "INERtcEngine.h"
10#import "NERtcEngineBase.h"
12
13@class NERtcChannel;
14
15#pragma clang diagnostic push
16#pragma clang diagnostic ignored "-Wdocumentation"
17
18
19NS_ASSUME_NONNULL_BEGIN
20
29@protocol INERtcEngineEx <INERtcEngine>
30
77- (int)enableDualStreamMode:(BOOL)enable;
78
128- (int)setLocalMediaPriority:(NERtcMediaPriorityType)priority preemptive:(BOOL)preemptive;
129
130
155- (int)setLocalPublishFallbackOption:(NERtcStreamFallbackOptions)option;
156
181- (int)setRemoteSubscribeFallbackOption:(NERtcStreamFallbackOptions)option;
182
232- (int)muteLocalAudio:(BOOL)muted;
233
289- (int)subscribeRemoteAudio:(BOOL)subscribe forUserID:(uint64_t)userID;
290
338- (int)subscribeAllRemoteAudio:(BOOL)subscribe;
339
368- (int)setAudioSubscribeOnlyBy:(NSArray<NSNumber*> *)uidArray;
369
394- (int)enableLocalSubStreamAudio:(BOOL)enabled;
395
451- (int)subscribeRemoteSubStreamAudio:(BOOL)subscribe forUserID:(uint64_t)userID;
452
477- (int)muteLocalSubStreamAudio:(BOOL)muted;
478
479
591- (int)setExternalSubStreamAudioSource:(BOOL)enabled sampleRate:(int32_t)sampleRate channels:(int32_t)channels;
592
621- (int)pushExternalSubStreamAudioFrame:(NERtcAudioFrame *)frame;
622
684 - (int)subscribeRemoteVideo:(BOOL)subscribe forUserID:(uint64_t)userID streamType:(NERtcRemoteVideoStreamType)streamType;
685
728- (int)startPreview;
729
780- (int)startPreview:(NERtcStreamChannelType)streamType;
781
812- (int)stopPreview;
813
851- (int)stopPreview:(NERtcStreamChannelType)streamType;
852
894- (int)setLocalRenderScaleMode:(NERtcVideoRenderScaleMode)mode;
895
945- (int)setRemoteRenderScaleMode:(NERtcVideoRenderScaleMode)mode forUserID:(uint64_t)userID;
946
971 - (int)setVideoRotationMode:(NERtcVideoRotationMode)rotationMode;
972
1024 - (int)muteLocalVideo:(BOOL)muted;
1025
1076 - (int)muteLocalVideo:(BOOL)muted streamType:(NERtcStreamChannelType)streamType;
1077
1126- (int)setLoudspeakerMode:(bool)enable;
1127
1142- (int)getLoudspeakerMode:(bool *)enabled;
1143
1144
1157- (int)startAudioDump;
1158
1173- (int)startAudioDumpWithType:(NERtcAudioDumpType)type;
1174
1197- (int)stopAudioDump;
1198
1233- (int)setRemoteHighPriorityAudioStream:(BOOL)enable forUserID:(uint64_t)userID streamType:(NERtcAudioStreamType)streamType;
1234
1249- (int)switchCameraWithPosition:(NERtcCameraPosition)position;
1250
1251
1290- (int)updatePermissionKey:(NSString *)key;
1291
1340- (BOOL)isFeatureSupportedWithType:(NERtcFeatureType)featureType;
1341
1376- (NERtcFeatureSupportType)getFeatureSupportedType:(NERtcFeatureType)featureType;
1377
1378#pragma mark - External Video Input
1379
1443- (int)setExternalVideoSource:(BOOL)enable isScreen:(BOOL)isScreen;
1444
1513- (int)setExternalVideoSource:(BOOL)enable streamType:(NERtcStreamChannelType)streamType;
1514
1539- (int)pushExternalVideoFrame:(NERtcVideoFrame*)frame;
1540
1556- (int)pushExternalVideoFrame:(NERtcVideoFrame*)frame streamType:(NERtcStreamChannelType)streamType;
1557
1558#pragma mark - Sub Stream
1559
1607- (int)setupLocalSubStreamVideoCanvas:(nullable NERtcVideoCanvas *)canvas;
1608
1658- (int)startScreenCapture:(NERtcVideoSubStreamEncodeConfiguration *)config;
1659
1687- (int)stopScreenCapture;
1688
1734- (int)setLocalRenderSubStreamScaleMode:(NERtcVideoRenderScaleMode)mode;
1735
1799- (int)setupRemoteSubStreamVideoCanvas:(nullable NERtcVideoCanvas *)canvas forUserID:(uint64_t)userID;
1800
1854- (int)subscribeRemoteSubStreamVideo:(BOOL)subscribe forUserID:(uint64_t)userID;
1855
1906- (int)setRemoteRenderSubStreamVideoScaleMode:(NERtcVideoRenderScaleMode)mode forUserID:(uint64_t)userID;
1907
1908#pragma mark - Audio Session
1909
1930- (int)setAudioSessionOperationRestriction:(NERtcAudioSessionOperationRestriction)restriction;
1931
1932#pragma mark - Audio Device Manager
1933
1974- (int)setPlayoutDeviceMute:(bool)muted;
1975
1976
1989- (int)getPlayoutDeviceMute:(bool *)muted;
1990
1991
2037- (int)setRecordDeviceMute:(bool)muted;
2038
2039
2052- (int)getRecordDeviceMute:(bool *)muted;
2053
2054
2055#pragma mark - Camera & Torch Settings
2056
2071- (BOOL)isCameraZoomSupported;
2072
2091- (BOOL)isCameraTorchSupported;
2092
2109- (BOOL)isCameraFocusSupported;
2110
2127- (BOOL)isCameraExposurePositionSupported;
2128
2177- (int)setCameraExposurePosition:(CGPoint)positionInView;
2178
2197- (int)setCameraTorchOn:(BOOL)on;
2198
2211- (BOOL)isCameraTorchOn;
2212
2259- (int)setCameraZoomFactor:(float)factor;
2260
2277 - (float)maxCameraZoomScale;
2278
2332- (int)setCameraFocusPositionX:(float)focusX Y:(float)focusY;
2333
2389 - (int)setCameraCaptureConfig:(NERtcCameraCaptureConfiguration *)config;
2390
2440- (int)setCameraCaptureConfig:(NERtcCameraCaptureConfiguration *)config streamType:(NERtcStreamChannelType)streamType;
2441
2442#pragma mark - Audio Mixing
2443
2503- (int)startAudioMixingWithOption:(NERtcCreateAudioMixingOption *)option;
2504
2528- (int)stopAudioMixing;
2529
2556- (int)pauseAudioMixing;
2557
2583- (int)resumeAudioMixing;
2584
2597- (int)setAudioMixingSendVolume:(uint32_t)volume;
2598
2613- (int)getAudioMixingSendVolume:(uint32_t *)volume;
2614
2629- (int)setAudioMixingPlaybackVolume:(uint32_t)volume;
2630
2645- (int)getAudioMixingPlaybackVolume:(uint32_t *)volume;
2646
2661- (int)getAudioMixingDuration:(uint64_t *)duration;
2662
2677- (int)getAudioMixingCurrentPosition:(uint64_t *)position;
2678
2693- (int)setAudioMixingPosition:(uint64_t)position;
2694
2736- (int)setAudioMixingPitch:(int32_t)pitch;
2737
2758- (int)getAudioMixingPitch:(int32_t *)pitch;
2759
2760#pragma mark - Audio Effect
2827- (int)playEffectWitdId:(uint32_t)effectId effectOption:(NERtcCreateAudioEffectOption *)option;
2828
2868- (int)stopEffectWitdId:(uint32_t)effectId;
2869
2896- (int)stopAllEffects;
2897
2912- (int)pauseEffectWitdId:(uint32_t)effectId;
2913
2928- (int)resumeEffectWitdId:(uint32_t)effectId;
2929
2942- (int)pauseAllEffects;
2943
2956- (int)resumeAllEffects;
2957
2974- (int)setEffectSendVolumeWithId:(uint32_t)effectId volume:(uint32_t)volume;
2975
2992- (int)getEffectSendVolumeWithId:(uint32_t)effectId volume:(uint32_t *)volume;
2993
3010- (int)setEffectPlaybackVolumeWithId:(uint32_t)effectId volume:(uint32_t)volume;
3011
3026- (int)getEffectPlaybackVolumeWithId:(uint32_t)effectId volume:(uint32_t *)volume;
3027
3048- (int)getEffectDurationWithId:(uint32_t)effectId duration:(uint64_t *)duration;
3049
3070- (int)getEffectCurrentPositionWithId:(uint32_t)effectId position:(uint64_t *)position;
3071
3112- (int)setEffectPositionWithId:(uint32_t)effectId position:(uint64_t)position;
3113
3160- (int)setEffectPitchWithId:(uint32_t)effectId pitch:(int32_t)pitch;
3161
3198- (int)getEffectPitchWithId:(uint32_t)effectId pitch:(int32_t *)pitch;
3199
3200#pragma mark - In-ear monitoring
3252- (int)enableEarback:(BOOL)enabled volume:(uint32_t)volume;
3253
3266- (int)setEarbackVolume:(uint32_t)volume;
3267
3268#pragma mark - Audio Recording
3333- (int)startAudioRecording:(NSString *)filePath sampleRate:(int)sampleRate quality:(NERtcAudioRecordingQuality)quality;
3334
3380- (int)startAudioRecordingWithConfig:(NERtcAudioRecordingConfiguration *_Nonnull)config;
3381
3409- (int)stopAudioRecording;
3410
3411#pragma mark - External Audio
3478- (int)setExternalAudioSource:(BOOL)enabled sampleRate:(int32_t)sampleRate channels:(int32_t)channels;
3479
3505- (int)pushExternalAudioFrame:(NERtcAudioFrame *)frame;
3506
3507
3571 - (int)setExternalAudioRender:(BOOL)enabled sampleRate:(int32_t)sampleRate channels:(int32_t)channels;
3572
3598- (int)pullExternalAudioFrame:(void *_Nonnull)data length:(int)len;
3599
3600#pragma mark - 3D Audio
3601
3615- (int)setRangeAudioMode:(NERtcRangeAudioMode)mode;
3616
3632-(int)setRangeAudioTeamID:(int32_t)teamId;
3633
3652- (int)setAudioRecvRange:(int)audibleDistance conversationalDistance:(int)conversationalDistance rollOff:(NERtcDistanceRolloffModel)rollOff;
3653
3690- (int)updateSelfPosition:(NERtcPositionInfo *)info;
3691
3704- (int)enableSpatializerRoomEffects:(BOOL)enabled;
3705
3718- (int)setSpatializerRoomProperty:(NERtcSpatializerRoomProperty *)roomProperty;
3719
3732- (int)setSpatializerRenderMode:(NERtcSpatializerRenderMode)mode;
3733
3743- (int)initSpatializer;
3744
3761- (int)enableSpatializer:(BOOL)enabled applyToTeam:(BOOL)applyToTeam;
3762
3763#pragma mark - ASL black and white list
3779- (int)setSubscribeAudioBlocklist:(NERtcAudioStreamType)type uidArray:(NSArray<NSNumber*> *)uidArray;
3780
3795- (int)setSubscribeAudioAllowlist:(NSArray<NSNumber*> *)uidArray;
3796
3797#pragma mark - Data Channel
3798
3827- (int)enableLocalData:(BOOL)enabled;
3828
3857- (int)subscribeRemoteData:(BOOL)subscribe forUserID:(uint64_t)userID;
3858
3877- (int)sendData:(NSData *)data;
3878
3879#pragma mark - Media Statistic Observer
3880
3893- (int)addEngineMediaStatsObserver:(id<NERtcEngineMediaStatsObserver>)observer;
3894
3907- (int)removeEngineMediaStatsObserver:(id<NERtcEngineMediaStatsObserver>)observer;
3908
3919- (int)cleanupEngineMediaStatsObserver;
3920
3921
3922#pragma mark - Live Stream
3981- (int)addLiveStreamTask:(NERtcLiveStreamTaskInfo *)taskInfo compeltion:(NERtcLiveStreamCompletion)completion;
3982
4036- (int)updateLiveStreamTask:(NERtcLiveStreamTaskInfo *)taskInfo compeltion:(NERtcLiveStreamCompletion)completion;
4037
4091- (int)removeLiveStreamTask:(NSString *)taskId compeltion:(NERtcLiveStreamCompletion)completion;
4092
4093#pragma mark - Audio Frame Observer
4144- (int)setRecordingAudioFrameParameters:(nullable NERtcAudioFrameRequestFormat *)format;
4145
4146
4196- (int)setPlaybackAudioFrameParameters:(nullable NERtcAudioFrameRequestFormat *)format;
4197
4248- (int)setMixedAudioFrameParameters:(nullable NERtcAudioFrameRequestFormat *)format;
4249
4250
4273- (int)setPlaybackBeforeMixingAudioFrameParameters:(nullable NERtcAudioFrameRequestFormat *)format;
4274
4319- (int)setAudioFrameObserver:(nullable id<NERtcEngineAudioFrameObserver>)observer;
4320
4321
4330- (int)setVideoFrameObserver:(nullable id<NERtcEngineVideoFrameObserver>)videoframeObserver;
4331
4332
4333#pragma mark - Volume Indication
4385- (int)enableAudioVolumeIndication:(BOOL)enable interval:(uint64_t)interval;
4386
4452- (int)enableAudioVolumeIndication:(BOOL)enable interval:(uint64_t)interval vad:(BOOL)enableVad;
4453
4454
4455#pragma mark - Signal Volume
4498- (int)adjustRecordingSignalVolume:(uint32_t)volume;
4499
4543- (int)adjustPlaybackSignalVolume:(uint32_t)volume;
4544
4600- (int)adjustUserPlaybackSignalVolume:(uint32_t)volume forUserID:(uint64_t)userID;
4601
4637- (int)adjustChannelPlaybackSignalVolume:(uint32_t)volume;
4638
4639#pragma mark - Voice Effect
4640
4661- (int)setLocalVoicePitch:(double)pitch;
4662
4679- (int)setLocalVoiceEqualizationOfBandFrequency:(NERtcAudioEqualizationBandFrequency)bandFrequency withGain:(NSInteger)gain;
4680
4721- (int)setVoiceBeautifierPreset:(NERtcVoiceBeautifierType)type;
4722
4765- (int)setAudioEffectPreset:(NERtcVoiceChangerType)type;
4766
4787- (int)setLocalVoiceReverbParam:(NERtcReverbParam *)param;
4788
4789#pragma mark - WaterMark
4812- (int)setLocalVideoWatermarkConfigs:(nullable NERtcVideoWatermarkConfig *)config
4813 withStreamType:(NERtcStreamChannelType)type;
4814
4815#pragma mark - Snapshot
4842- (int)takeLocalSnapshot:(NERtcStreamChannelType)streamType callback:(NERtcTakeSnapshotCallback)callback;
4843
4870- (int)takeRemoteSnapshot:(NERtcStreamChannelType)streamType forUserID:(uint64_t)userID callback:(NERtcTakeSnapshotCallback)callback;
4871
4872#pragma mark - Other
4887- (int)uploadSdkInfo;
4888
4898- (int)reportCustomEvent:(NSString *)eventName
4899 customIdentify:(NSString *)customIdentify
4900 param:(NSDictionary *)param;
4901
4902#pragma mark - SEI
4903
4940- (int)sendSEIMsg:(NSData *)data streamChannelType:(NERtcStreamChannelType)type;
4941
4976- (int)sendSEIMsg:(NSData *)data;
4977
4978#pragma mark- MediaRelay
4979
5006- (int)startChannelMediaRelay:(NERtcChannelMediaRelayConfiguration *_Nonnull)config;
5007
5032- (int)updateChannelMediaRelay:(NERtcChannelMediaRelayConfiguration *_Nonnull)config;
5033
5065- (int)stopChannelMediaRelay;
5066
5092- (int)enableSuperResolution:(BOOL)enabled;
5093
5124- (int)enableEncryption:(BOOL)enable config:(NERtcEncryptionConfig *)config;
5125
5126#pragma mark - NetworkQualiityTest
5127
5157- (int)startLastmileProbeTest:(NERtcLastmileProbeConfig *_Nullable)config;
5158
5175- (int)stopLastmileProbeTest;
5176
5177#pragma mark -
5191- (nullable NERtcChannel *)createChannel:(NSString *)channelName;
5192
5193#pragma mark - Video Effect
5194
5227- (int)enableVideoCorrection:(BOOL)enable;
5228
5255- (int)setVideoCorrectionConfig:(nullable NERtcVideoCorrectionConfiguration *)config;
5256
5304- (int)enableVirtualBackground:(BOOL)enable backData:(NERtcVirtualBackgroundSource *_Nullable)backData;
5305
5350- (int)enableVirtualBackground:(BOOL)enable backData:(NERtcVirtualBackgroundSource *_Nullable)backData force:(BOOL)force;
5351
5352#pragma mark - Cloud Proxy
5353
5374- (int)setCloudProxy:(NERtcTransportType)proxyType;
5375
5417- (void)setStreamAlignmentProperty:(BOOL)enable;
5418
5433- (int64_t)getNtpTimeOffset;
5434
5435#pragma mark - encoder & decoder
5436
5474- (int)setPreDecodeObserver:(nullable id<NERtcEnginePreDecodeObserver>)observer;
5475
5476
5514- (int)setVideoEncoderQosObserver:(nullable id<NERtcEngineVideoEncoderQosObserver>)encoderQosObserver;
5515
5563- (int)pushExternalAudioEncodedFrame:(NERtcAudioEncodedFrame *)encodedAudioFrame;
5564
5612- (int)pushExternalSubStreamAudioEncodedFrame:(NERtcAudioEncodedFrame *)encodedAudioFrame;
5613
5667- (int)pushExternalVideoEncodedFrame:(NERtcVideoEncodedFrame *)encodedVideoFrame;
5668
5722- (int)pushExternalSubStreamVideoEncodedFrame:(NERtcVideoEncodedFrame *)encodedVideoFrame;
5723
5724
5725#pragma mark - push streaming
5726
5807- (int)startPushStreaming:(NERtcPushStreamingConfig *)config;
5808
5851- (int)stopPushStreaming;
5852
5853@end
5854
5855NS_ASSUME_NONNULL_END
5856
5857#pragma clang diagnostic pop
5858
5859#endif /* INERtcEngineEx_h */
void(^ NERtcTakeSnapshotCallback)(int errorCode, UIImage *_Nullable image)
截图结果 block 回调。
Definition INERtcEngine.h:64
void(^ NERtcLiveStreamCompletion)(NSString *taskId, kNERtcLiveStreamError errorCode)
互动直播推流 block。
Definition INERtcEngine.h:50
NERtcAudioEqualizationBandFrequency
频谱子带索引 预设值。
Definition NERtcEngineEnum.h:2225
NERtcAudioDumpType
音频 dump 类型
Definition NERtcEngineEnum.h:1784
NERtcVoiceChangerType
变声 预设值。
Definition NERtcEngineEnum.h:2326
NERtcSpatializerRenderMode
空间音效渲染模式
Definition NERtcEngineEnum.h:1928
NERtcDistanceRolloffModel
空间音效衰减模式
Definition NERtcEngineEnum.h:1954
NERtcVideoRotationMode
视频旋转模式。
Definition NERtcEngineEnum.h:802
NERtcAudioRecordingQuality
录音音质。
Definition NERtcEngineEnum.h:2059
NERtcCameraPosition
指定的摄像头位置。
Definition NERtcEngineEnum.h:1412
NERtcRemoteVideoStreamType
远端视频流类型。
Definition NERtcEngineEnum.h:688
NERtcStreamFallbackOptions
Definition NERtcEngineEnum.h:2015
NERtcFeatureSupportType
Definition NERtcEngineEnum.h:404
NERtcRangeAudioMode
Definition NERtcEngineEnum.h:1973
NERtcFeatureType
功能类型
Definition NERtcEngineEnum.h:392
NERtcStreamChannelType
SEI 发送的流通道类型。
Definition NERtcEngineEnum.h:1095
NERtcAudioSessionOperationRestriction
音频会话控制权限。 SDK 对 Audio Session 的控制权限。
Definition NERtcEngineEnum.h:1737
NERtcTransportType
云代理模式。
Definition NERtcEngineEnum.h:3503
NERtcVoiceBeautifierType
美声 预设值。
Definition NERtcEngineEnum.h:2418
NERtcVideoRenderScaleMode
视频渲染缩放模式。
Definition NERtcEngineEnum.h:764
NERtcMediaPriorityType
Definition NERtcEngineEnum.h:1994
NERtcAudioStreamType
音频流类型,目前同时支持音频两路流:主流和辅流
Definition NERtcEngineEnum.h:1770
编码好的音频数据
Definition NERtcEngineBase.h:2950
音频帧。
Definition NERtcEngineBase.h:1519
音频原始数据回调格式(默认不设置)。
Definition NERtcEngineBase.h:1406
Definition NERtcEngineBase.h:903
摄像头采集配置。
Definition NERtcEngineBase.h:488
Definition NERtcChannel.h:14
Definition NERtcEngineBase.h:1753
Options for creating audio effects
Definition NERtcEngineBase.h:806
Options for creating mixing audios
Definition NERtcEngineBase.h:688
配置媒体流加密模式和密钥。
Definition NERtcEngineBase.h:2182
Last mile 网络探测配置。
Definition NERtcEngineBase.h:2369
直播推流任务的配置。
Definition NERtcEngineBase.h:1308
3D 音效算法中坐标信息。
Definition NERtcEngineBase.h:3000
Definition NERtcEngineBase.h:3175
混响参数
Definition NERtcEngineBase.h:2671
3D 音效房间属性设置。
Definition NERtcEngineBase.h:3076
视频画布设置。
Definition NERtcEngineBase.h:296
视频图像畸变矫正相关设置。
Definition NERtcEngineBase.h:2570
Definition NERtcEngineBase.h:2908
视频帧信息。
Definition NERtcEngineBase.h:1609
本地辅流发送配置。
Definition NERtcEngineBase.h:648
视频水印设置,目前支持三种类型的水印,但只能其中选择一种水印生效。
Definition NERtcEngineBase.h:2128
自定义背景图像。
Definition NERtcEngineBase.h:2607