6#include "CoreMinimal.h"
9#ifndef WIN32_LEAN_AND_MEAN
10#define WIN32_LEAN_AND_MEAN
13#define NERTC_PLUGIN_CALL __cdecl
14#define NERTC_PLUGIN_API __declspec(dllexport)
15#elif defined(__APPLE__) || defined(__ANDROID__) || defined(__linux__)
16#define NERTC_PLUGIN_API __attribute__((visibility("default")))
17#define NERTC_PLUGIN_CALL
19#define NERTC_PLUGIN_API
20#define NERTC_PLUGIN_CALL
26namespace wwiseplugin {
36 #define kWWISEPLUGINMaxDeviceIDLength 256
45 #define kWWISEPLUGINMaxDeviceNameLength 256
67 static constexpr const char* kNERtcKeyRecordHostEnabled =
"record_host_enabled";
77 static constexpr const char* kNERtcKeyRecordAudioEnabled =
"record_audio_enabled";
86 static constexpr const char* kNERtcKeyRecordType =
"record_type";
95 static constexpr const char* kNERtcKeyLogLevel =
"log_level";
104 static constexpr const char* kNERtcKeyAudioProcessingAECEnable =
"audio_processing_aec_enable";
114 static constexpr const char* kNERtcKeyAudioAECLowLevelEnable =
"audio_aec_low_level_enable";
123 static constexpr const char* kNERtcKeyAudioProcessingAGCEnable =
"audio_processing_agc_enable";
132 static constexpr const char* kNERtcKeyAudioProcessingNSEnable =
"audio_processing_ns_enable";
141 static constexpr const char* kNERtcKeyAudioProcessingAINSEnable =
"audio_processing_ai_ns_enable";
150 static constexpr const char* kNERtcKeyAudioProcessingExternalAudioMixEnable =
"audio_processing_external_audiomix_enable";
160 static constexpr const char* kNERtcKeyAudioProcessingEarphone =
"audio_processing_earphone";
173 static constexpr const char* kNERtcKeyAudioDeviceAutoSelectType =
"audio_device_auto_select_type";
186 static constexpr const char* kNERtcKeyEnableReportVolumeWhenMute =
"enable_report_volume_when_mute";
201 static constexpr const char* kNERtcKeyDisableOverrideSpeakerOnReceiver =
"disable_override_speaker_on_receiver";
213 static constexpr const char* kNERtcKeyDisableSWAECOnHeadset =
"disable_sw_aec_on_headset";
222 static constexpr const char* kNERtcKeyEnableAudioBluetoothSCO =
"enable_audio_bluetooth_sco";
232 static constexpr const char* kNERtcAudioDeviceAutoID =
"nertc-audio-device-auto";
#define kWWISEPLUGINMaxDeviceNameLength
定义 NertcBase.h:45
#define NERTC_PLUGIN_API
定义 NertcBase.h:19
#define kWWISEPLUGINMaxDeviceIDLength
定义 NertcBase.h:36
RtcErrorCode
定义 NertcBase.h:762
@ kWWISEPLUGINErrKickedForRoomClosed
定义 NertcBase.h:1148
@ kWWISEPLUGINErrDeviceNotFound
定义 NertcBase.h:923
@ kWWISEPLUGINErrChannelReservePermissionDenied
定义 NertcBase.h:787
@ kWWISEPLUGINErrStreamNotFound
定义 NertcBase.h:1094
@ kWWISEPLUGINErrPTTDownloadDataError
定义 NertcBase.h:1287
@ kWWISEPLUGINErrPTTRecordingDurationTooShort
定义 NertcBase.h:1203
@ kWWISEPLUGINErrSignalDisconnected
定义 NertcBase.h:1130
@ kWWISEPLUGINErrPTTDownloadOpenFileFailed
定义 NertcBase.h:1263
@ kWWISEPLUGINRuntimeErrADMRecordingFailed
定义 NertcBase.h:1407
@ kWWISEPLUGINRuntimeErrADMNoAuthorize
定义 NertcBase.h:1350
@ kWWISEPLUGINErrOutOfMemory
定义 NertcBase.h:869
@ kWWISEPLUGINErrInvalidDeviceSourceID
定义 NertcBase.h:932
@ kWWISEPLUGINErrTrackNotFound
定义 NertcBase.h:1112
@ kWWISEPLUGINErrPTTAuthorizeFailed
定义 NertcBase.h:1173
@ kWWISEPLUGINErrFatal
定义 NertcBase.h:860
@ kWWISEPLUGINErrPTTDownloadAuthFailed
定义 NertcBase.h:1269
@ kWWISEPLUGINErrChannelAlreadyJoined
定义 NertcBase.h:1004
@ kWWISEPLUGINErrServerKicked
定义 NertcBase.h:1139
@ kWWISEPLUGINRuntimeErrADMStartRecording
定义 NertcBase.h:1368
@ kWWISEPLUGINErrInvalidIndex
定义 NertcBase.h:914
@ kWWISEPLUGINErrChannelReserveErrorParam
定义 NertcBase.h:805
@ kWWISEPLUGINErrPTTUploadDataError
定义 NertcBase.h:1257
@ kWWISEPLUGINErrUserNotFound
定义 NertcBase.h:1049
@ kWWISEPLUGINErrAddTrackFail
定义 NertcBase.h:1103
@ kWWISEPLUGINErrPTTSTTNetError
定义 NertcBase.h:1311
@ kWWISEPLUGINErrTransmitPendding
定义 NertcBase.h:977
@ kWWISEPLUGINErrChannelReserveServerFail
定义 NertcBase.h:823
@ kWWISEPLUGINErrChannelReserveMoreThanTwoUser
定义 NertcBase.h:832
@ kWWISEPLUGINErrCreateDeviceSourceFail
定义 NertcBase.h:950
@ kWWISEPLUGINErrPTTUploadFileTooLarge
定义 NertcBase.h:1239
@ kWWISEPLUGINErrPTTSTTAuditFailed
定义 NertcBase.h:1341
@ kWWISEPLUGINErrDevicePreviewAlreadyStarted
定义 NertcBase.h:968
@ kWWISEPLUGINErrChannelRepleatedlyLeave
定义 NertcBase.h:1022
@ kWWISEPLUGINErrSessionNotFound
定义 NertcBase.h:1040
@ kWWISEPLUGINRuntimeErrADMInitRecording
定义 NertcBase.h:1359
@ kWWISEPLUGINErrNotSupported
定义 NertcBase.h:887
@ kWWISEPLUGINErrPTTSTTNotFound
定义 NertcBase.h:1323
@ kWWISEPLUGINErrPTTUploadAuthFailed
定义 NertcBase.h:1245
@ kWWISEPLUGINErrChannelNoPublishPermission
定义 NertcBase.h:838
@ kWWISEPLUGINErrChannelReserveTimeOut
定义 NertcBase.h:796
@ kWWISEPLUGINErrMediaConnectionDisconnected
定义 NertcBase.h:1121
@ kWWISEPLUGINErrChannelNotJoined
定义 NertcBase.h:1013
@ kWWISEPLUGINRuntimeErrADMStartPlayout
定义 NertcBase.h:1395
@ kWWISEPLUGINRuntimeErrADMStopRecording
定义 NertcBase.h:1377
@ kWWISEPLUGINErrPTTSTTAuthFailed
定义 NertcBase.h:1305
@ kWWISEPLUGINErrChannelReserveErrorAppKey
定义 NertcBase.h:814
@ kWWISEPLUGINErrPTTRecordingAreadyStarted
定义 NertcBase.h:1191
@ kWWISEPLUGINErrPTTUploadNetError
定义 NertcBase.h:1251
@ kWWISEPLUGINErrInvalidState
定义 NertcBase.h:896
@ kWWISEPLUGINRuntimeErrADMPlayoutFailed
定义 NertcBase.h:1409
@ kWWISEPLUGINErrConnectionNotFound
定义 NertcBase.h:1085
@ kWWISEPLUGINErrPTTAuthTimeOut
定义 NertcBase.h:1185
@ kWWISEPLUGINRuntimeErrADMStopPlayout
定义 NertcBase.h:1404
@ kWWISEPLUGINErrChannelLeaveByDuplicateUidLogin
定义 NertcBase.h:1166
@ kWWISEPLUGINErrRequestJoinChannelFail
定义 NertcBase.h:1031
@ kWWISEPLUGINErrChannelLeaveBySwitchAction
定义 NertcBase.h:1157
@ kWWISEPLUGINErrPTTSTTAuditing
定义 NertcBase.h:1335
@ kWWISEPLUGINErrInvalidParam
定义 NertcBase.h:878
@ kWWISEPLUGINNoError
定义 NertcBase.h:771
@ kWWISEPLUGINErrServerPersonsInRoomReachedTheLimit
定义 NertcBase.h:850
@ kWWISEPLUGINErrInvalidRender
定义 NertcBase.h:959
@ kWWISEPLUGINErrPTTDownloadAuditFailed
定义 NertcBase.h:1299
@ kWWISEPLUGINErrPTTUploadOpenFileFailed
定义 NertcBase.h:1233
@ kWWISEPLUGINErrMediaNotStarted
定义 NertcBase.h:1067
@ kWWISEPLUGINErrPTTRecordingNotStarted
定义 NertcBase.h:1209
@ kWWISEPLUGINErrInvalidVideoProfile
定义 NertcBase.h:941
@ kWWISEPLUGINErrPTTSTTDataError
定义 NertcBase.h:1329
@ kWWISEPLUGINErrInvalidUserID
定义 NertcBase.h:1058
@ kWWISEPLUGINErrPTTRecordingOpenFileFailed
定义 NertcBase.h:1197
@ kWWISEPLUGINErrSourceNotFound
定义 NertcBase.h:1076
@ kWWISEPLUGINErrConnectFail
定义 NertcBase.h:986
@ kWWISEPLUGINErrDeviceOccupied
定义 NertcBase.h:995
@ kWWISEPLUGINErrLackOfResource
定义 NertcBase.h:905
@ kWWISEPLUGINErrPTTDownloadAuditing
定义 NertcBase.h:1293
@ kWWISEPLUGINRuntimeErrADMInitPlayout
定义 NertcBase.h:1386
@ kWWISEPLUGINErrPTTDownloadNotFound
定义 NertcBase.h:1281
@ kWWISEPLUGINErrPTTPlayNotStarted
定义 NertcBase.h:1227
@ kWWISEPLUGINErrPTTPlayReadFileFailed
定义 NertcBase.h:1221
@ kWWISEPLUGINErrPTTAuthNetError
定义 NertcBase.h:1179
@ kWWISEPLUGINErrChannelNoSubscribePermission
定义 NertcBase.h:844
@ kWWISEPLUGINErrPTTDownloadNetError
定义 NertcBase.h:1275
@ kWWISEPLUGINErrPTTSTTTranslateFaild
定义 NertcBase.h:1317
@ kWWISEPLUGINErrPTTPlayOpenFileFailed
定义 NertcBase.h:1215
RtcConnectionStateType
定义 NertcBase.h:326
@ kWWISEPLUGINConnectionStateReconnecting
定义 NertcBase.h:362
@ kWWISEPLUGINConnectionStateConnecting
定义 NertcBase.h:344
@ kWWISEPLUGINConnectionStateDisconnected
定义 NertcBase.h:335
@ kWWISEPLUGINConnectionStateConnected
定义 NertcBase.h:353
@ kWWISEPLUGINConnectionStateFailed
定义 NertcBase.h:371
RtcAudioDumpType
定义 NertcBase.h:728
@ kWWISEPLUGINAudioDumpTypeAll
定义 NertcBase.h:742
@ kWWISEPLUGINAudioDumpTypeWAV
定义 NertcBase.h:749
@ kWWISEPLUGINAudioDumpTypePCM
定义 NertcBase.h:735
RtcAudioStreamType
定义 NertcBase.h:1449
@ kWWISEPLUGINAudioStreamTypeSub
定义 NertcBase.h:1468
@ kWWISEPLUGINAudioStreamTypeMain
定义 NertcBase.h:1458
RtcVoiceAuditStatus
定义 NertcBase.h:1415
@ kkWWISEPLUGINVoiceAuditUnkonwn
定义 NertcBase.h:1420
@ kkWWISEPLUGINVoiceAuditing
定义 NertcBase.h:1425
@ kkWWISEPLUGINVoiceAuditFinished
定义 NertcBase.h:1429
@ kkWWISEPLUGINVoiceAuditUnactivated
定义 NertcBase.h:1438
@ kkWWISEPLUGINVoiceAuditServerError
定义 NertcBase.h:1434
RtcAudioDeviceTransportType
定义 NertcBase.h:1528
@ kWWISEPLUGINAudioDeviceTransportTypeBluetoothA2DP
定义 NertcBase.h:1555
@ kWWISEPLUGINAudioDeviceTransportTypeBluetoothLE
定义 NertcBase.h:1564
@ kWWISEPLUGINAudioDeviceTransportTypeBluetooth
定义 NertcBase.h:1546
@ kWWISEPLUGINAudioDeviceTransportTypeBuiltIn
定义 NertcBase.h:1591
@ kWWISEPLUGINAudioDeviceTransportTypeHDMI
定义 NertcBase.h:1582
@ kWWISEPLUGINAudioDeviceTransportTypeOther
定义 NertcBase.h:1627
@ kWWISEPLUGINAudioDeviceTransportTypeUSB
定义 NertcBase.h:1573
@ kWWISEPLUGINAudioDeviceTransportTypeVirtual
定义 NertcBase.h:1618
@ kWWISEPLUGINAudioDeviceTransportTypeAirPlay
定义 NertcBase.h:1609
@ kWWISEPLUGINAudioDeviceTransportTypeUnknown
定义 NertcBase.h:1537
@ kWWISEPLUGINAudioDeviceTransportTypeThunderbolt
定义 NertcBase.h:1600
RtcRangeAudioMode
定义 NertcBase.h:551
@ kWWISEPLUGINRangeAudioModeDefault
定义 NertcBase.h:559
@ kWWISEPLUGINRangeAudioModeTeam
定义 NertcBase.h:563
@ kWWISEPLUGINRangeAudioModeNone
定义 NertcBase.h:555
RtcAudioProfileType
定义 NertcBase.h:574
@ kWWISEPLUGINAudioProfileStandardExtend
定义 NertcBase.h:601
@ kWWISEPLUGINAudioProfileMiddleQualityStereo
定义 NertcBase.h:619
@ kWWISEPLUGINAudioProfileDefault
定义 NertcBase.h:583
@ kWWISEPLUGINAudioProfileHighQualityStereo
定义 NertcBase.h:637
@ kWWISEPLUGINAudioProfileHighQuality
定义 NertcBase.h:628
@ kWWISEPLUGINAudioProfileStandard
定义 NertcBase.h:592
@ kWWISEPLUGINAudioProfileMiddleQuality
定义 NertcBase.h:610
RtcReasonConnectionChangedType
定义 NertcBase.h:382
@ kWWISEPLUGINReasonConnectionChangedJoinChannelFailed
定义 NertcBase.h:481
@ kWWISEPLUGINReasonConnectionChangedBeKicked
定义 NertcBase.h:409
@ kWWISEPLUGINReasonConnectionChangedJoinChannel
定义 NertcBase.h:427
@ kWWISEPLUGINReasonConnectionChangedTimeOut
定义 NertcBase.h:418
@ kWWISEPLUGINReasonConnectionChangedReDispatch
定义 NertcBase.h:490
@ kWWISEPLUGINReasonConnectionChangedJoinSucceed
定义 NertcBase.h:436
@ kWWISEPLUGINReasonConnectionChangedMediaConnectionDisconnected
定义 NertcBase.h:454
@ kWWISEPLUGINReasonConnectionChangedReJoinSucceed
定义 NertcBase.h:445
@ kWWISEPLUGINReasonConnectionChangedChannelClosed
定义 NertcBase.h:400
@ kWWISEPLUGINReasonConnectionChangedSignalDisconnected
定义 NertcBase.h:463
@ kWWISEPLUGINReasonConnectionChangedRequestChannelFailed
定义 NertcBase.h:472
@ kWWISEPLUGINReasonConnectionChangedLeaveChannel
定义 NertcBase.h:391
@ kWWISEPLUGINReasonConnectionChangedSettingProxyServer
定义 NertcBase.h:499
RtcClientRole
定义 NertcBase.h:523
@ kWWISEPLUGINClientRoleAudience
定义 NertcBase.h:545
@ kWWISEPLUGINClientRoleBroadcaster
定义 NertcBase.h:534
RtcAudioDeviceType
定义 NertcBase.h:1693
@ kWWISEPLUGINAudioDevicePlayout
定义 NertcBase.h:1720
@ kWWISEPLUGINAudioDeviceUnknown
定义 NertcBase.h:1702
@ kWWISEPLUGINAudioDeviceRecord
定义 NertcBase.h:1711
RtcAudioDeviceState
定义 NertcBase.h:1731
@ kWWISEPLUGINAudioDeviceUnactive
定义 NertcBase.h:1749
@ kWWISEPLUGINAudioDeviceActive
定义 NertcBase.h:1740
RtcAudioScenarioType
定义 NertcBase.h:647
@ kWWISEPLUGINAudioScenarioDefault
定义 NertcBase.h:660
@ kWWISEPLUGINAudioScenarioSpeech
定义 NertcBase.h:669
@ kWWISEPLUGINAudioScenarioChatroom
定义 NertcBase.h:687
@ kWWISEPLUGINAudioScenarioMusic
定义 NertcBase.h:678
RtcLogLevel
定义 NertcBase.h:243
@ kWWISEPLUGINLevelVerbos
定义 NertcBase.h:297
@ kWWISEPLUGINLevelFatal
定义 NertcBase.h:252
@ kWWISEPLUGINLevelError
定义 NertcBase.h:261
@ kWWISEPLUGINLevelWarning
定义 NertcBase.h:270
@ kWWISEPLUGINLevelDetailInfo
定义 NertcBase.h:288
@ kWWISEPLUGINLevelOff
定义 NertcBase.h:315
@ kWWISEPLUGINLevelInfo
定义 NertcBase.h:279
@ kWWISEPLUGINLevelDebug
定义 NertcBase.h:306
RtcAudioOutputRouting
定义 NertcBase.h:1472
@ kWWISEPLUGINAudioOutputRoutingBluetooth
定义 NertcBase.h:1517
@ kWWISEPLUGINAudioOutputRoutingDefault
定义 NertcBase.h:1481
@ kWWISEPLUGINAudioOutputRoutingEarpiece
定义 NertcBase.h:1499
@ kWWISEPLUGINAudioOutputRoutingLoudspeaker
定义 NertcBase.h:1508
@ kWWISEPLUGINAudioOutputRoutingHeadset
定义 NertcBase.h:1490
RtcNetworkType
定义 NertcBase.h:502
@ kWWISEPLUGINNetworkType5G
定义 NertcBase.h:509
@ kWWISEPLUGINNetworkTypeNone
定义 NertcBase.h:512
@ kWWISEPLUGINNetworkType3G
定义 NertcBase.h:507
@ kWWISEPLUGINNetworkTypeBluetooth
定义 NertcBase.h:511
@ kWWISEPLUGINNetworkTypeWWAN
定义 NertcBase.h:510
@ kWWISEPLUGINNetworkTypeUnknown
定义 NertcBase.h:503
@ kWWISEPLUGINNetworkType4G
定义 NertcBase.h:508
@ kWWISEPLUGINNetworkTypeWifi
定义 NertcBase.h:505
@ kWWISEPLUGINNetworkTypeEthernet
定义 NertcBase.h:504
@ kWWISEPLUGINNetworkType2G
定义 NertcBase.h:506
定义 IAudioDeviceManager.h:7
uint64_t uid
定义 NertcBase.h:706
unsigned int volume
定义 NertcBase.h:715
unsigned int substreamVolume
定义 NertcBase.h:722
char deviceName[kWWISEPLUGINMaxDeviceNameLength]
定义 NertcBase.h:1656
int transportType
定义 NertcBase.h:1665
bool suspectedUnavailable
定义 NertcBase.h:1674
char deviceId[kWWISEPLUGINMaxDeviceIDLength]
定义 NertcBase.h:1647
bool systemDefaultDevice
定义 NertcBase.h:1683
const char * appKey
定义 NertcBase.h:1770
const char * logPath
定义 NertcBase.h:1780