Go to the documentation of this file.
33 #ifndef _AK_SOUNDENGINE_H_
34 #define _AK_SOUNDENGINE_H_
41 #if defined(AK_NULL_PLATFORM)
48 #elif defined (AK_MAC_OS_X)
52 #elif defined (AK_IOS)
56 #elif defined(AK_XBOXGC) // Gaming.Xbox platform
60 #elif defined( AK_ANDROID )
64 #elif defined( AK_HARMONY )
68 #elif defined (AK_PS4)
72 #elif defined (AK_PS5)
76 #elif defined( AK_LINUX_DESKTOP )
80 #elif defined( AK_EMSCRIPTEN )
84 #elif defined( AK_QNX )
85 #include <AK/SoundEngine/Platforms/QNX/AkQNXSoundEngine.h>
86 #include <AK/SoundEngine/Platforms/QNX/AkPlatformContext.h>
88 #elif defined( AK_NX )
93 #error AkSoundEngine.h: Undefined platform
96 #ifndef AK_ASSERT_HOOK
101 const char * in_pszExpression,
102 const char * in_pszFileName,
105 #define AK_ASSERT_HOOK
117 bool in_bBackgroundMusicMuted,
132 #ifdef AK_SUPPORT_WCHAR
184 void * in_pClientData
202 const char* in_pszZoneName
213 const char* in_pszMarkerName
294 namespace SoundEngine
512 const AkReal32 * in_pfSpeakerAngles,
565 bool in_bAllowSyncRender =
true
672 void * in_pCookie =
NULL,
734 #ifdef AK_SUPPORT_WCHAR
756 #endif //AK_SUPPORT_WCHAR
804 void * in_pCookie =
NULL,
810 #ifdef AK_SUPPORT_WCHAR
829 const wchar_t* in_pszEventName,
833 void * in_pCookie =
NULL,
838 #endif //AK_SUPPORT_WCHAR
858 const char* in_pszEventName,
862 void * in_pCookie =
NULL,
892 AkTimeMs in_uTransitionDuration = 0,
897 #ifdef AK_SUPPORT_WCHAR
905 const wchar_t* in_pszEventName,
908 AkTimeMs in_uTransitionDuration = 0,
912 #endif //AK_SUPPORT_WCHAR
921 const char* in_pszEventName,
924 AkTimeMs in_uTransitionDuration = 0,
948 bool in_bAbsoluteOffsets =
false,
951 void * in_pCookie =
NULL,
997 #ifdef AK_SUPPORT_WCHAR
1018 const wchar_t* in_pszEventName,
1022 #endif //AK_SUPPORT_WCHAR
1044 const char* in_pszEventName,
1061 #ifdef AK_SUPPORT_WCHAR
1071 const wchar_t* in_pszEventName
1073 #endif //AK_SUPPORT_WCHAR
1084 const char* in_pszEventName
1101 bool& out_bCachePinnedMemoryFull
1116 const char* in_pszEventName,
1118 bool& out_bCachePinnedMemoryFull
1121 #ifdef AK_SUPPORT_WCHAR
1134 const wchar_t* in_pszEventName,
1136 bool& out_bCachePinnedMemoryFull
1192 bool in_bSeekToNearestMarker =
false,
1196 #ifdef AK_SUPPORT_WCHAR
1247 const wchar_t* in_pszEventName,
1250 bool in_bSeekToNearestMarker =
false,
1253 #endif //AK_SUPPORT_WCHAR
1306 const char* in_pszEventName,
1309 bool in_bSeekToNearestMarker =
false,
1363 bool in_bSeekToNearestMarker =
false,
1367 #ifdef AK_SUPPORT_WCHAR
1414 const wchar_t* in_pszEventName,
1417 bool in_bSeekToNearestMarker =
false,
1420 #endif //AK_SUPPORT_WCHAR
1468 const char* in_pszEventName,
1471 bool in_bSeekToNearestMarker =
false,
1515 bool in_bExtrapolate =
true
1541 bool in_bExtrapolate =
true
1563 bool & out_bIsBuffering
1580 AkTimeMs in_uTransitionDuration = 0,
1590 AkTimeMs in_uTransitionDuration = 0,
1634 const void* in_pData,
1669 const char * in_pszObjName
1777 AkReal32 in_fAttenuationScalingFactor
1831 #ifdef AK_SUPPORT_WCHAR
1876 const wchar_t* in_pszString,
1880 #endif //AK_SUPPORT_WCHAR
1926 const char* in_pszString,
2020 const void * in_pInMemoryBankPtr,
2071 const void * in_pInMemoryBankPtr,
2122 const void * in_pInMemoryBankPtr,
2171 const void * in_pInMemoryBankPtr,
2181 const void * in_pInMemoryBankPtr,
2184 void * & out_pDecodedBankPtr,
2188 #ifdef AK_SUPPORT_WCHAR
2227 const wchar_t* in_pszString,
2233 #endif //AK_SUPPORT_WCHAR
2274 const char* in_pszString,
2362 const void * in_pInMemoryBankPtr,
2408 const void * in_pInMemoryBankPtr,
2454 const void* in_pInMemoryBankPtr,
2499 const void * in_pInMemoryBankPtr,
2507 #ifdef AK_SUPPORT_WCHAR
2523 const wchar_t* in_pszString,
2524 const void * in_pInMemoryBankPtr,
2527 #endif //AK_SUPPORT_WCHAR
2544 const char* in_pszString,
2545 const void * in_pInMemoryBankPtr,
2560 const void * in_pInMemoryBankPtr,
2564 #ifdef AK_SUPPORT_WCHAR
2581 const wchar_t* in_pszString,
2582 const void * in_pInMemoryBankPtr,
2587 #endif //AK_SUPPORT_WCHAR
2605 const char* in_pszString,
2606 const void * in_pInMemoryBankPtr,
2625 const void * in_pInMemoryBankPtr,
2666 #ifdef AK_SUPPORT_WCHAR
2682 const wchar_t* in_pszString,
2686 #endif //AK_SUPPORT_WCHAR
2703 const char* in_pszString,
2729 #ifdef AK_SUPPORT_WCHAR
2745 const wchar_t* in_pszString,
2751 #endif //AK_SUPPORT_WCHAR
2768 const char* in_pszString,
2809 #ifdef AK_SUPPORT_WCHAR
2844 const wchar_t** in_ppszString,
2847 #endif //AK_SUPPORT_WCHAR
2885 const char** in_ppszString,
2926 #ifdef AK_SUPPORT_WCHAR
2952 const wchar_t** in_ppszString,
2957 #endif //AK_SUPPORT_WCHAR
2984 const char** in_ppszString,
3065 #ifdef AK_SUPPORT_WCHAR
3098 const wchar_t* in_pszGroupName,
3099 const wchar_t** in_ppszGameSyncName,
3102 #endif //AK_SUPPORT_WCHAR
3136 const char* in_pszGroupName,
3137 const char** in_ppszGameSyncName,
3178 #ifdef AK_SUPPORT_WCHAR
3203 const wchar_t* in_pszGroupName,
3204 const wchar_t** in_ppszGameSyncName,
3209 #endif //AK_SUPPORT_WCHAR
3235 const char* in_pszGroupName,
3236 const char** in_ppszGameSyncName,
3383 bool in_bSpatialized,
3418 AkTimeMs in_uValueChangeDuration = 0,
3420 bool in_bBypassInternalValueInterpolation =
false
3423 #ifdef AK_SUPPORT_WCHAR
3444 const wchar_t* in_pszRtpcName,
3447 AkTimeMs in_uValueChangeDuration = 0,
3449 bool in_bBypassInternalValueInterpolation =
false
3451 #endif //AK_SUPPORT_WCHAR
3473 const char* in_pszRtpcName,
3476 AkTimeMs in_uValueChangeDuration = 0,
3478 bool in_bBypassInternalValueInterpolation =
false
3502 AkTimeMs in_uValueChangeDuration = 0,
3504 bool in_bBypassInternalValueInterpolation =
false
3507 #ifdef AK_SUPPORT_WCHAR
3526 const wchar_t* in_pszRtpcName,
3529 AkTimeMs in_uValueChangeDuration = 0,
3531 bool in_bBypassInternalValueInterpolation =
false
3533 #endif //AK_SUPPORT_WCHAR
3553 const char* in_pszRtpcName,
3556 AkTimeMs in_uValueChangeDuration = 0,
3558 bool in_bBypassInternalValueInterpolation =
false
3582 AkTimeMs in_uValueChangeDuration = 0,
3584 bool in_bBypassInternalValueInterpolation =
false
3587 #ifdef AK_SUPPORT_WCHAR
3607 const wchar_t* in_pszRtpcName,
3609 AkTimeMs in_uValueChangeDuration = 0,
3611 bool in_bBypassInternalValueInterpolation =
false
3613 #endif //AK_SUPPORT_WCHAR
3634 const char* in_pszRtpcName,
3636 AkTimeMs in_uValueChangeDuration = 0,
3638 bool in_bBypassInternalValueInterpolation =
false
3660 AkTimeMs in_uValueChangeDuration = 0,
3662 bool in_bBypassInternalValueInterpolation =
false
3665 #ifdef AK_SUPPORT_WCHAR
3685 const wchar_t* in_pszRtpcName,
3687 AkTimeMs in_uValueChangeDuration = 0,
3689 bool in_bBypassInternalValueInterpolation =
false
3691 #endif //AK_SUPPORT_WCHAR
3712 const char* in_pszRtpcName,
3714 AkTimeMs in_uValueChangeDuration = 0,
3716 bool in_bBypassInternalValueInterpolation =
false
3730 #ifdef AK_SUPPORT_WCHAR
3740 const wchar_t* in_pszSwitchGroup,
3741 const wchar_t* in_pszSwitchState,
3744 #endif //AK_SUPPORT_WCHAR
3755 const char* in_pszSwitchGroup,
3756 const char* in_pszSwitchState,
3770 #ifdef AK_SUPPORT_WCHAR
3780 const wchar_t* in_pszTrigger,
3783 #endif //AK_SUPPORT_WCHAR
3794 const char* in_pszTrigger,
3808 #ifdef AK_SUPPORT_WCHAR
3819 const wchar_t* in_pszStateGroup,
3820 const wchar_t* in_pszState
3822 #endif //AK_SUPPORT_WCHAR
3834 const char* in_pszStateGroup,
3835 const char* in_pszState
3882 void* in_pCookie =
NULL
3903 void* in_pCookie =
NULL
3923 void* in_pCookie =
NULL
3985 #ifdef AK_SUPPORT_WCHAR
4006 const wchar_t* in_pszBusName,
4010 #endif //AK_SUPPORT_WCHAR
4033 const char* in_pszBusName,
4067 #ifdef AK_SUPPORT_WCHAR
4079 const wchar_t* in_pszBusName,
4082 #endif //AK_SUPPORT_WCHAR
4095 const char* in_pszBusName,
4108 #ifdef AK_SUPPORT_WCHAR
4116 const wchar_t* in_pszBusName,
4119 #endif //AK_SUPPORT_WCHAR
4128 const char* in_pszBusName,
4166 AkUInt32 in_uNumOcclusionObstruction
4249 const char* in_MarkerText
4260 void* in_pMarkerData,
4282 void* in_pCookie =
NULL
4298 void* in_pCookie =
NULL
4334 bool in_bEnableOfflineRendering
4427 const char* in_szShareSet,
4432 #ifdef AK_SUPPORT_WCHAR
4434 const wchar_t* in_szShareSet,
4460 const char* in_BusName,
4461 const char* in_DeviceName
4464 #ifdef AK_SUPPORT_WCHAR
4472 const wchar_t* in_BusName,
4473 const wchar_t* in_DeviceName
4555 bool in_bRenderAnyway =
false,
4556 bool in_bFadeOut =
true
4580 #endif // _AK_SOUNDENGINE_H_
AkOutputSettings settingsMainOutput
Main output device settings.
AKSOUNDENGINE_API AKRESULT RegisterPluginDLL(const AkOSChar *in_DllName, const AkOSChar *in_DllPath=NULL)
AkUInt32 uMonitorQueuePoolSize
Size of the monitoring queue, in bytes. This parameter is not used in Release build.
AkUInt32 AkStateGroupID
State group ID.
AKSOUNDENGINE_API AKRESULT RemoveDefaultListener(AkGameObjectID in_listenerGameObj)
AKSOUNDENGINE_API AKRESULT PrepareEvent(PreparationType in_PreparationType, const char **in_ppszString, AkUInt32 in_uNumEvent)
AKSOUNDENGINE_API AkUInt32 GetSampleRate()
void(* AkProfilerPostMarkerFunc)(AkPluginID in_uPluginID, const char *in_pszMarkerName)
AKSOUNDENGINE_API AKRESULT SetRTPCValue(AkRtpcID in_rtpcID, AkRtpcValue in_value, AkGameObjectID in_gameObjectID=AK_INVALID_GAME_OBJECT, AkTimeMs in_uValueChangeDuration=0, AkCurveInterpolation in_eFadeCurve=AkCurveInterpolation_Linear, bool in_bBypassInternalValueInterpolation=false)
AKSOUNDENGINE_API AKRESULT SetOutputDeviceEffect(AkOutputDeviceID in_outputDeviceID, AkUInt32 in_uFXIndex, AkUniqueID in_FXShareSetID)
uint16_t AkUInt16
Unsigned 16-bit integer.
AKSOUNDENGINE_API AKRESULT SetSpeakerAngles(const AkReal32 *in_pfSpeakerAngles, AkUInt32 in_uNumAngles, AkReal32 in_fHeightAngle, AkOutputDeviceID in_idOutput=0)
AkInt32 AkTimeMs
Time in ms.
AkBackgroundMusicChangeCallbackFunc BGMCallback
Application-defined audio source change event callback function.
Auxiliary bus sends information per game object per given auxiliary bus.
AKSOUNDENGINE_API void ExecuteActionOnPlayingID(AkActionOnEventType in_ActionType, AkPlayingID in_playingID, AkTimeMs in_uTransitionDuration=0, AkCurveInterpolation in_eFadeCurve=AkCurveInterpolation_Linear)
Obstruction/occlusion pair for a position.
AKSOUNDENGINE_API AKRESULT LoadBankMemoryView(const void *in_pInMemoryBankPtr, AkUInt32 in_uInMemoryBankSize, AkBankID &out_bankID)
AkUInt8 * pMediaMemory
Pointer to the data to be set for the source.
AkPanningRule ePanningRule
AKSOUNDENGINE_API AKRESULT PrepareGameSyncs(PreparationType in_PreparationType, AkGroupType in_eGameSyncType, const char *in_pszGroupName, const char **in_ppszGameSyncName, AkUInt32 in_uNumGameSyncs)
AKSOUNDENGINE_API AKRESULT GetSourcePlayPositions(AkPlayingID in_PlayingID, AkSourcePosition *out_puPositions, AkUInt32 *io_pcPositions, bool in_bExtrapolate=true)
AKSOUNDENGINE_API AKRESULT Init(AkInitSettings *in_pSettings, AkPlatformInitSettings *in_pPlatformSettings)
AKSOUNDENGINE_API AKRESULT SetSwitch(AkSwitchGroupID in_switchGroup, AkSwitchStateID in_switchState, AkGameObjectID in_gameObjectID)
AKSOUNDENGINE_API bool IsPluginRegistered(AkPluginType in_eType, AkUInt32 in_ulCompanyID, AkUInt32 in_ulPluginID)
void(* AkResourceMonitorCallbackFunc)(const AkResourceMonitorDataSummary *in_pdataSummary)
void(* AkJobWorkerFunc)(AkJobType in_jobType, AkUInt32 in_uExecutionTimeUsec)
AKSOUNDENGINE_API AKRESULT StopMIDIOnEvent(AkUniqueID in_eventID=AK_INVALID_UNIQUE_ID, AkGameObjectID in_gameObjectID=AK_INVALID_GAME_OBJECT, AkPlayingID in_playingID=AK_INVALID_PLAYING_ID)
AKSOUNDENGINE_API AKRESULT GetSourceStreamBuffering(AkPlayingID in_PlayingID, AkTimeMs &out_buffering, bool &out_bIsBuffering)
@ AkBankContent_StructureOnly
Use AkBankContent_StructureOnly to load only the structural content, including Events,...
IAkSoftwareCodec *(* AkCreateFileSourceCallback)(void *in_pCtx)
Registered file source creation function prototype.
@ AkSetPositionFlags_Default
AKSOUNDENGINE_API AKRESULT StartOutputCapture(const AkOSChar *in_CaptureFileName)
AkUInt32 AkRtpcID
Real time parameter control ID.
AkProfilerPopTimerFunc fnProfilerPopTimer
External (optional) function for tracking performance of the sound engine that is called when a timer...
AKSOUNDENGINE_API AKRESULT SetMaxNumVoicesLimit(AkUInt16 in_maxNumberVoices)
AKSOUNDENGINE_API AKRESULT RegisterOutputDeviceMeteringCallback(AkOutputDeviceID in_idOutput, AkOutputDeviceMeteringCallbackFunc in_pfnCallback, AkMeteringFlags in_eMeteringFlags, void *in_pCookie=NULL)
AkUInt32 uNumSamplesPerFrame
Number of samples per audio frame (256, 512, 1024, or 2048).
@ AkFloorPlane_Default
The Wwise default floor plane is ZX.
AKSOUNDENGINE_API AKRESULT SetDefaultListeners(const AkGameObjectID *in_pListenerObjs, AkUInt32 in_uNumListeners)
AKSOUNDENGINE_API AKRESULT RegisterBusVolumeCallback(AkUniqueID in_busID, AkBusCallbackFunc in_pfnCallback, void *in_pCookie=NULL)
AKSOUNDENGINE_API AKRESULT UnregisterAllGameObj()
AKSOUNDENGINE_API AKRESULT ResetRTPCValue(AkRtpcID in_rtpcID, AkGameObjectID in_gameObjectID=AK_INVALID_GAME_OBJECT, AkTimeMs in_uValueChangeDuration=0, AkCurveInterpolation in_eFadeCurve=AkCurveInterpolation_Linear, bool in_bBypassInternalValueInterpolation=false)
AkUInt64 AkGameObjectID
Game object ID.
AkUInt32 AkBankID
Run time bank ID.
#define AK_EXTERNAPIFUNC(_type, _name)
@ AkFloorPlane_XY
The floor is oriented along the XY-plane. The front vector points towards +X, the up vector towards +...
AkReal32 fDebugOutOfRangeLimit
Debug setting: Only used when bDebugOutOfRangeCheckEnabled is true. This defines the maximum values s...
AKSOUNDENGINE_API AKRESULT RegisterGlobalCallback(AkGlobalCallbackFunc in_pCallback, AkUInt32 in_eLocation=AkGlobalCallbackLocation_BeginRender, void *in_pCookie=NULL, AkPluginType in_eType=AkPluginTypeNone, AkUInt32 in_ulCompanyID=0, AkUInt32 in_ulPluginID=0)
AKSOUNDENGINE_API void CancelEventCallbackCookie(void *in_pCookie)
AKRESULT
Standard function call result.
AkUInt32 updateBufferTick
Value of GetBufferTick() at the time the position was updated.
AKRESULT(* AkGetDeviceListCallback)(AkUInt32 &io_maxNumDevices, AkDeviceDescription *out_deviceDescriptions)
Registered plugin device enumeration function prototype, used for providing lists of devices by plug-...
AKSOUNDENGINE_API AKRESULT RegisterGameObj(AkGameObjectID in_gameObjectID)
void(* AkGlobalCallbackFunc)(AK::IAkGlobalPluginContext *in_pContext, AkGlobalCallbackLocation in_eLocation, void *in_pCookie)
@ Preparation_LoadAndDecode
Vorbis media is decoded when loading, and an uncompressed PCM version is used for playback.
AkMeteringFlags
Metering flags. Used for specifying bus metering, through AK::SoundEngine::RegisterBusVolumeCallback(...
AKSOUNDENGINE_API AKRESULT GetContainerHistory(AK::IWriteBytes *in_pBytes)
AKSOUNDENGINE_API AKRESULT LoadBank(const char *in_pszString, AkBankID &out_bankID, AkBankType in_bankType=AkBankType_User)
AkInt32 AkMemPoolId
Memory pool ID.
AKSOUNDENGINE_API AKRESULT SetState(AkStateGroupID in_stateGroup, AkStateID in_state)
Platform-independent initialization settings of output devices.
AKSOUNDENGINE_API bool IsInitialized()
@ Preparation_Unload
PrepareEvent() will unload required information to play the specified event.
@ AkBankContent_All
Use AkBankContent_All to load both the media and structural content.
void(* AkBusMeteringCallbackFunc)(AkBusMeteringCallbackInfo *in_pCallbackInfo)
AKSOUNDENGINE_API AKRESULT SetOfflineRenderingFrameTime(AkReal32 in_fFrameTimeInSeconds)
uint8_t AkUInt8
Unsigned 8-bit integer.
AKSOUNDENGINE_API AKRESULT ClearBanks()
AKSOUNDENGINE_API AKRESULT UnregisterAudioDeviceStatusCallback()
Unregisters the callback for the Audio Device status changes, registered by RegisterAudioDeviceStatus...
AkUInt32 uMaxNumPaths
Maximum number of paths for positioning.
AKSOUNDENGINE_API AKRESULT WakeupFromSuspend(AkUInt32 in_uDelayMs=0)
AKSOUNDENGINE_API AKRESULT SetMultipleObstructionAndOcclusion(AkGameObjectID in_EmitterID, AkGameObjectID in_uListenerID, AkObstructionOcclusionValues *in_fObstructionOcclusionValues, AkUInt32 in_uNumOcclusionObstruction)
AkUInt32 samplePosition
Position of the source (in samples) associated with that playing item.
AKSOUNDENGINE_API AKRESULT SetOutputVolume(AkOutputDeviceID in_idOutput, AkReal32 in_fVolume)
AKSOUNDENGINE_API AKRESULT GetPanningRule(AkPanningRule &out_ePanningRule, AkOutputDeviceID in_idOutput=0)
void(* AkOutputDeviceMeteringCallbackFunc)(AkOutputDeviceMeteringCallbackInfo *in_pCallbackInfo)
AKSOUNDENGINE_API AKRESULT ResetRTPCValueByPlayingID(AkRtpcID in_rtpcID, AkPlayingID in_playingID, AkTimeMs in_uValueChangeDuration=0, AkCurveInterpolation in_eFadeCurve=AkCurveInterpolation_Linear, bool in_bBypassInternalValueInterpolation=false)
AKSOUNDENGINE_API AKRESULT SetBankLoadIOSettings(AkReal32 in_fThroughput, AkPriority in_priority)
AKSOUNDENGINE_API AKRESULT AddOutputCaptureMarker(const char *in_MarkerText)
AKSOUNDENGINE_API AKRESULT RegisterAudioDeviceStatusCallback(AK::AkDeviceStatusCallbackFunc in_pCallback)
AKSOUNDENGINE_API AKRESULT PostTrigger(AkTriggerID in_triggerID, AkGameObjectID in_gameObjectID)
float AkReal32
32-bit floating point
AKSOUNDENGINE_API AKRESULT PinEventInStreamCache(AkUniqueID in_eventID, AkPriority in_uActivePriority, AkPriority in_uInactivePriority)
AKSOUNDENGINE_API void CancelEventCallbackGameObject(AkGameObjectID in_gameObjectID)
AKSOUNDENGINE_API AKRESULT ReplaceOutput(const AkOutputSettings &in_Settings, AkOutputDeviceID in_outputDeviceId, AkOutputDeviceID *out_pOutputDeviceId=NULL)
AKSOUNDENGINE_API void GetDefaultInitSettings(AkInitSettings &out_settings)
AKSOUNDENGINE_API AKRESULT RegisterPlugin(AkPluginType in_eType, AkUInt32 in_ulCompanyID, AkUInt32 in_ulPluginID, AkCreatePluginCallback in_pCreateFunc, AkCreateParamCallback in_pCreateParamFunc, AkGetDeviceListCallback in_pGetDeviceList=NULL)
FuncRequestJobWorker fnRequestJobWorker
Function called by the job manager when a new worker needs to be requested. When null,...
AKSOUNDENGINE_API AKRESULT SetActorMixerEffect(AkUniqueID in_audioNodeID, AkUInt32 in_uFXIndex, AkUniqueID in_shareSetID)
AkSetPositionFlags
Flags to independently set the position of the emitter or listener component on a game object.
AKSOUNDENGINE_API AKRESULT RegisterCodec(AkUInt32 in_ulCompanyID, AkUInt32 in_ulCodecID, AkCreateFileSourceCallback in_pFileCreateFunc, AkCreateBankSourceCallback in_pBankCreateFunc)
@ MultiPositionType_MultiDirections
Simulate one sound coming from multiple directions. Useful for repositionning sounds based on wall op...
bool bUseLEngineThread
Use a separate thread for processing audio. If set to false, audio processing will occur in RenderAud...
AKSOUNDENGINE_API AKRESULT StopProfilerCapture()
AKSOUNDENGINE_API AKRESULT SetObjectObstructionAndOcclusion(AkGameObjectID in_EmitterID, AkGameObjectID in_ListenerID, AkReal32 in_fObstructionLevel, AkReal32 in_fOcclusionLevel)
AKSOUNDENGINE_API AkOutputDeviceID GetOutputID(AkUniqueID in_idShareset, AkUInt32 in_idDevice)
AkOutputSettings(const char *in_szDeviceShareSet, AkUniqueID in_idDevice=AK_INVALID_UNIQUE_ID, AkChannelConfig in_channelConfig=AkChannelConfig(), AkPanningRule in_ePanning=AkPanningRule_Speakers)
AkUInt32 uMaxActiveWorkers[AK_NUM_JOB_TYPES]
The maximum number of concurrent workers that will be requested. Must be >= 1 for each jobType.
AkReal32 * VectorPtr
Volume vector. Access each element with the standard bracket [] operator.
AKSOUNDENGINE_API AKRESULT DecodeBank(const void *in_pInMemoryBankPtr, AkUInt32 in_uInMemoryBankSize, AkMemPoolId in_uPoolForDecodedBank, void *&out_pDecodedBankPtr, AkUInt32 &out_uDecodedBankSize)
AkUInt32 AkUniqueID
Unique 32-bit ID.
AKSOUNDENGINE_API AKRESULT StartProfilerCapture(const AkOSChar *in_CaptureFileName)
void(* AkProfilerPopTimerFunc)()
External (optional) function for tracking performance of the sound engine that is called when a timer...
Configured audio settings.
@ AkFloorPlane_XZ
The floor is oriented along the ZX-plane. The front vector points towards +Z, the up vector towards +...
AkUInt32 uContinuousPlaybackLookAhead
Default is 1 audio quantum, also known as an audio frame. Its size is equal to AkInitSettings::uNumSa...
AKSOUNDENGINE_API AKRESULT RemoveOutput(AkOutputDeviceID in_idOutput)
bool bEnableGameSyncPreparation
Sets to true to enable AK::SoundEngine::PrepareGameSync usage.
AkUInt32 AkPluginID
Source or effect plug-in ID.
AKSOUNDENGINE_API AkUInt32 GetBufferTick()
AKSOUNDENGINE_API AKRESULT RegisterResourceMonitorCallback(AkResourceMonitorCallbackFunc in_pCallback)
void * pClientData
Arbitrary data that will be passed back to the client when calling FuncRequestJobWorker.
AKSOUNDENGINE_API AKRESULT GetOutputDeviceConfiguration(AkOutputDeviceID in_idOutput, AkChannelConfig &io_channelConfig, Ak3DAudioSinkCapabilities &io_capabilities)
AKSOUNDENGINE_API AKRESULT GetDeviceSpatialAudioSupport(AkUInt32 in_idDevice)
AKSOUNDENGINE_API AKRESULT AddListener(AkGameObjectID in_emitterGameObj, AkGameObjectID in_listenerGameObj)
AkAssertHook pfnAssertHook
External assertion handling function (optional)
Necessary settings for setting externally-loaded sources.
AkUInt32 uMemorySlabSize
Size of each memory slab used for job manager memory. Must be a power of two. Default is 8K.
AKSOUNDENGINE_API AKRESULT SeekOnEvent(AkUniqueID in_eventID, AkGameObjectID in_gameObjectID, AkTimeMs in_iPosition, bool in_bSeekToNearestMarker=false, AkPlayingID in_PlayingID=AK_INVALID_PLAYING_ID)
AkUInt32 uMaxHardwareTimeoutMs
Amount of time to wait for HW devices to trigger an audio interrupt. If there is no interrupt after t...
AKSOUNDENGINE_API AKRESULT SetScalingFactor(AkGameObjectID in_GameObjectID, AkReal32 in_fAttenuationScalingFactor)
AKSOUNDENGINE_API AKRESULT RegisterCaptureCallback(AkCaptureCallbackFunc in_pfnCallback, AkOutputDeviceID in_idOutput=AK_INVALID_OUTPUT_DEVICE_ID, void *in_pCookie=NULL)
@ Preparation_Load
PrepareEvent() will load required information to play the specified event.
AKSOUNDENGINE_API AKRESULT UnregisterGameObj(AkGameObjectID in_gameObjectID)
AKSOUNDENGINE_API AKRESULT SetJobMgrMaxActiveWorkers(AkJobType in_jobType, AkUInt32 in_uNewMaxActiveWorkers)
AKSOUNDENGINE_API AKRESULT RenderAudio(bool in_bAllowSyncRender=true)
AkJobMgrSettings settingsJobManager
Settings to configure the behavior of the Sound Engine's internal job manager.
void(* AkCaptureCallbackFunc)(AkAudioBuffer &in_CaptureBuffer, AkOutputDeviceID in_idOutput, void *in_pCookie)
Positioning information for a sound, with specified subset of its channels.
AKSOUNDENGINE_API AKRESULT SetListenerSpatialization(AkGameObjectID in_uListenerID, bool in_bSpatialized, AkChannelConfig in_channelConfig, AK::SpeakerVolumes::VectorPtr in_pVolumeOffsets=NULL)
AKSOUNDENGINE_API AKRESULT SetGameObjectAuxSendValues(AkGameObjectID in_gameObjectID, AkAuxSendValue *in_aAuxSendValues, AkUInt32 in_uNumSendValues)
AkInt8 AkPriority
Priority.
AkGroupType
Game sync group type.
Settings for the Sound Engine's internal job manager.
AKSOUNDENGINE_API AkPlayingID PostMIDIOnEvent(AkUniqueID in_eventID, AkGameObjectID in_gameObjectID, AkMIDIPost *in_pPosts, AkUInt16 in_uNumPosts, bool in_bAbsoluteOffsets=false, AkUInt32 in_uFlags=0, AkCallbackFunc in_pfnCallback=NULL, void *in_pCookie=NULL, AkPlayingID in_playingID=AK_INVALID_PLAYING_ID)
static const AkUInt32 AK_NUM_JOB_TYPES
Number of possible job types recognized by the Sound Engine.
void(* AkCallbackFunc)(AkCallbackType in_eType, AkCallbackInfo *in_pCallbackInfo)
AKRESULT(* AkBackgroundMusicChangeCallbackFunc)(bool in_bBackgroundMusicMuted, void *in_pCookie)
AKSOUNDENGINE_API AKRESULT UnregisterCaptureCallback(AkCaptureCallbackFunc in_pfnCallback, AkOutputDeviceID in_idOutput=AK_INVALID_OUTPUT_DEVICE_ID, void *in_pCookie=NULL)
AKSOUNDENGINE_API AKRESULT AddOutputCaptureBinaryMarker(void *in_pMarkerData, AkUInt32 in_uMarkerDataSize)
AKSOUNDENGINE_API AkChannelConfig GetSpeakerConfiguration(AkOutputDeviceID in_idOutput=0)
AKSOUNDENGINE_API AKRESULT GetAudioSettings(AkAudioSettings &out_audioSettings)
AkUInt32 uMediaSize
Size, in bytes, of the data to be set for the source.
AKSOUNDENGINE_API AKRESULT UnloadBank(const char *in_pszString, const void *in_pInMemoryBankPtr, AkBankType in_bankType=AkBankType_User)
AkReal32 fGameUnitsToMeters
AKSOUNDENGINE_API AKRESULT RegisterBusMeteringCallback(AkUniqueID in_busID, AkBusMeteringCallbackFunc in_pfnCallback, AkMeteringFlags in_eMeteringFlags, void *in_pCookie=NULL)
static const AkUInt32 AK_INVALID_OUTPUT_DEVICE_ID
Invalid Device ID.
AkCurveInterpolation
Curve interpolation types.
AKSOUNDENGINE_API void SetRandomSeed(AkUInt32 in_uSeed)
#define AK_CALLBACK(_type, _name)
AkPanningRule
Headphone / speakers panning rules.
const AkOSChar * szPluginDLLPath
When using DLLs for plugins, specify their path. Leave NULL if DLLs are in the same folder as the gam...
void(* AkBusCallbackFunc)(AkSpeakerVolumeMatrixCallbackInfo *in_pCallbackInfo)
AkUInt32 uNumMemorySlabs
Number of memory slabs to pre-allocate for job manager memory. At least one slab per worker thread sh...
AKSOUNDENGINE_API void GetDefaultPlatformInitSettings(AkPlatformInitSettings &out_platformSettings)
AKSOUNDENGINE_API AKRESULT TryUnsetMedia(AkSourceSettings *in_pSourceSettings, AkUInt32 in_uNumSourceSettings, AKRESULT *out_pUnsetResults)
AKSOUNDENGINE_API AKRESULT SetMultiplePositions(AkGameObjectID in_GameObjectID, const AkSoundPosition *in_pPositions, AkUInt16 in_NumPositions, MultiPositionType in_eMultiPositionType=MultiPositionType_MultiDirections, AkSetPositionFlags in_eFlags=AkSetPositionFlags_Default)
AKSOUNDENGINE_API AKRESULT GetSourcePlayPosition(AkPlayingID in_PlayingID, AkTimeMs *out_puPosition, bool in_bExtrapolate=true)
AKSOUNDENGINE_API AKRESULT SetDistanceProbe(AkGameObjectID in_listenerGameObjectID, AkGameObjectID in_distanceProbeGameObjectID)
AKSOUNDENGINE_API AKRESULT SetListeners(AkGameObjectID in_emitterGameObj, const AkGameObjectID *in_pListenerGameObjs, AkUInt32 in_uNumListeners)
AKSOUNDENGINE_API AKRESULT SetPosition(AkGameObjectID in_GameObjectID, const AkSoundPosition &in_Position, AkSetPositionFlags in_eFlags=AkSetPositionFlags_Default)
static const AkUniqueID AK_INVALID_UNIQUE_ID
Invalid unique 32-bit ID.
AKSOUNDENGINE_API AKRESULT SendPluginCustomGameData(AkUniqueID in_busID, AkGameObjectID in_busObjectID, AkPluginType in_eType, AkUInt32 in_uCompanyID, AkUInt32 in_uPluginID, const void *in_pData, AkUInt32 in_uSizeInBytes)
AkUInt32 AkStateID
State ID.
@ AkPanningRule_Speakers
Left and right positioned 60 degrees apart (by default - see AK::SoundEngine::GetSpeakerAngles()).
AKSOUNDENGINE_API AKRESULT SetBusEffect(AkUniqueID in_audioNodeID, AkUInt32 in_uFXIndex, AkUniqueID in_shareSetID)
void(* AkBankCallbackFunc)(AkUInt32 in_bankID, const void *in_pInMemoryBankPtr, AKRESULT in_eLoadResult, void *in_pCookie)
AKSOUNDENGINE_API void MuteBackgroundMusic(bool in_bMute)
@ AkCurveInterpolation_Linear
Linear (Default)
AKSOUNDENGINE_API AKRESULT SetContainerHistory(AK::IReadBytes *in_pBytes)
void(* AkAssertHook)(const char *in_pszExpression, const char *in_pszFileName, int in_lineNumber)
AKSOUNDENGINE_API AKRESULT SetMixer(AkUniqueID in_audioNodeID, AkUniqueID in_shareSetID)
static const AkPlayingID AK_INVALID_PLAYING_ID
Invalid playing ID.
AKSOUNDENGINE_API AkUInt32 GetIDFromString(const char *in_pszString)
AKSOUNDENGINE_API AKRESULT PrepareBank(AK::SoundEngine::PreparationType in_PreparationType, const char *in_pszString, AK::SoundEngine::AkBankContent in_uFlags=AkBankContent_All, AkBankType in_bankType=AkBankType_User)
AKSOUNDENGINE_API AKRESULT SetOfflineRendering(bool in_bEnableOfflineRendering)
AKSOUNDENGINE_API AKRESULT LoadBankMemoryCopy(const void *in_pInMemoryBankPtr, AkUInt32 in_uInMemoryBankSize, AkBankID &out_bankID)
AKSOUNDENGINE_API AKRESULT SetPanningRule(AkPanningRule in_ePanningRule, AkOutputDeviceID in_idOutput=0)
uint64_t AkUInt64
Unsigned 64-bit integer.
AKSOUNDENGINE_API AKRESULT AddDefaultListener(AkGameObjectID in_listenerGameObj)
AkUInt32 AkSwitchStateID
Switch ID.
@ AkActionOnEventType_Resume
Resume.
AKSOUNDENGINE_API AKRESULT SetGameObjectOutputBusVolume(AkGameObjectID in_emitterObjID, AkGameObjectID in_listenerObjID, AkReal32 in_fControlValue)
AKSOUNDENGINE_API AKRESULT AddOutput(const AkOutputSettings &in_Settings, AkOutputDeviceID *out_pDeviceID=NULL, const AkGameObjectID *in_pListenerIDs=NULL, AkUInt32 in_uNumListeners=0)
AKSOUNDENGINE_API AKRESULT Suspend(bool in_bRenderAnyway=false, bool in_bFadeOut=true)
AKSOUNDENGINE_API AKRESULT StopOutputCapture()
AkUInt32 uCpuMonitorQueueMaxSize
Maximum size of the CPU monitoring queue, per thread, in bytes. This parameter is not used in Release...
AK::IAkPluginParam *(* AkCreateParamCallback)(AK::IAkPluginMemAlloc *in_pAllocator)
Registered plugin parameter node creation function prototype.
AKSOUNDENGINE_API AKRESULT ResetListenersToDefault(AkGameObjectID in_emitterGameObj)
@ AkActionOnEventType_Break
Break.
AKSOUNDENGINE_API AKRESULT SetBusDevice(AkUniqueID in_idBus, AkUniqueID in_idNewDevice)
AKSOUNDENGINE_API AKRESULT ExecuteActionOnEvent(AkUniqueID in_eventID, AkActionOnEventType in_ActionType, AkGameObjectID in_gameObjectID=AK_INVALID_GAME_OBJECT, AkTimeMs in_uTransitionDuration=0, AkCurveInterpolation in_eFadeCurve=AkCurveInterpolation_Linear, AkPlayingID in_PlayingID=AK_INVALID_PLAYING_ID)
AKSOUNDENGINE_API AKRESULT SetMedia(AkSourceSettings *in_pSourceSettings, AkUInt32 in_uNumSourceSettings)
AKSOUNDENGINE_API void CancelBankCallbackCookie(void *in_pCookie)
static const AkGameObjectID AK_INVALID_GAME_OBJECT
Invalid game object (may also mean all game objects)
AkUniqueID audioDeviceShareset
@ AkFloorPlane_YZ
The floor is oriented along the YZ-plane. The front vector points towards +Y, the up vector towards +...
AkTimeMs msTime
Position of the source (in ms) associated with that playing item.
@ AkActionOnEventType_Stop
Stop.
void * BGMCallbackCookie
Application-defined user data for the audio source change event callback function.
AkUniqueID sourceID
Source ID (available in the SoundBank content files)
uint32_t AkUInt32
Unsigned 32-bit integer.
AkChannelConfig channelConfig
bool bUseSoundBankMgrThread
Use a separate thread for loading sound banks. Allows asynchronous operations.
void(* AkDeviceStatusCallbackFunc)(AK::IAkGlobalPluginContext *in_pContext, AkUniqueID in_idAudioDeviceShareset, AkUInt32 in_idDeviceID, AkAudioDeviceEvent in_idEvent, AKRESULT in_AkResult)
AkUniqueID mediaID
Media ID of playing item. (corresponds to 'ID' attribute of 'File' element in SoundBank metadata file...
@ AkPluginTypeNone
Unknown/invalid plug-in type.
AkUInt64 AkOutputDeviceID
Audio Output device ID.
bool bDebugOutOfRangeCheckEnabled
Debug setting: Enable checks for out-of-range (and NAN) floats in the processing code....
AkUniqueID audioNodeID
Audio Node ID of playing item.
AKSOUNDENGINE_API AKRESULT UnpinEventInStreamCache(AkUniqueID in_eventID)
AKSOUNDENGINE_API AKRESULT SetRTPCValueByPlayingID(AkRtpcID in_rtpcID, AkRtpcValue in_value, AkPlayingID in_playingID, AkTimeMs in_uValueChangeDuration=0, AkCurveInterpolation in_eFadeCurve=AkCurveInterpolation_Linear, bool in_bBypassInternalValueInterpolation=false)
@ AkBankType_User
User-defined bank.
AkReal32 AkRtpcValue
Real time parameter control value.
AKSOUNDENGINE_API AKRESULT UnregisterResourceMonitorCallback(AkResourceMonitorCallbackFunc in_pCallback)
AKSOUNDENGINE_API AKRESULT UnregisterGlobalCallback(AkGlobalCallbackFunc in_pCallback, AkUInt32 in_eLocation=AkGlobalCallbackLocation_BeginRender)
AkProfilerPostMarkerFunc fnProfilerPostMarker
External (optional) function for tracking significant events in the sound engine, to act as a marker ...
AkUInt32 AkSwitchGroupID
Switch group ID.
AKSOUNDENGINE_API AKRESULT ClearPreparedEvents()
Return values for GetSourcePlayPositions.
AKSOUNDENGINE_API AKRESULT SetVolumeThreshold(AkReal32 in_fVolumeThresholdDB)
AKSOUNDENGINE_API AkPlayingID PostEvent(AkUniqueID in_eventID, AkGameObjectID in_gameObjectID, AkUInt32 in_uFlags=0, AkCallbackFunc in_pfnCallback=NULL, void *in_pCookie=NULL, AkUInt32 in_cExternals=0, AkExternalSourceInfo *in_pExternalSources=NULL, AkPlayingID in_PlayingID=AK_INVALID_PLAYING_ID)
AKSOUNDENGINE_API void Term()
AkUInt32 uCommandQueueSize
Size of the command queue, in bytes.
AKSOUNDENGINE_API AKRESULT GetDeviceList(AkUInt32 in_ulCompanyID, AkUInt32 in_ulPluginID, AkUInt32 &io_maxNumDevices, AkDeviceDescription *out_deviceDescriptions)
AKSOUNDENGINE_API void StopAll(AkGameObjectID in_gameObjectID=AK_INVALID_GAME_OBJECT)
AK::IAkPlugin *(* AkCreatePluginCallback)(AK::IAkPluginMemAlloc *in_pAllocator)
Registered plugin creation function prototype.
IAkSoftwareCodec *(* AkCreateBankSourceCallback)(void *in_pCtx)
Registered bank source node creation function prototype.
AKSOUNDENGINE_API AkUInt64 GetSampleTick()
AKSOUNDENGINE_API AK::IAkGlobalPluginContext * GetGlobalPluginContext()
AkUInt32 AkBankType
Run time bank type.
AKSOUNDENGINE_API AKRESULT UnsetMedia(AkSourceSettings *in_pSourceSettings, AkUInt32 in_uNumSourceSettings)
@ AkActionOnEventType_ReleaseEnvelope
Release envelope.
AKSOUNDENGINE_API AKRESULT SetBusConfig(AkUniqueID in_audioNodeID, AkChannelConfig in_channelConfig)
AkUInt32 AkJobType
Job type identifier.
AkUInt32 AkPlayingID
Playing ID.
AKSOUNDENGINE_API bool GetBackgroundMusicMute()
@ AkActionOnEventType_Pause
Pause.
void(* AkProfilerPushTimerFunc)(AkPluginID in_uPluginID, const char *in_pszZoneName)
AkProfilerPushTimerFunc fnProfilerPushTimer
External (optional) function for tracking performance of the sound engine that is called when a timer...
AKSOUNDENGINE_API void StopPlayingID(AkPlayingID in_playingID, AkTimeMs in_uTransitionDuration=0, AkCurveInterpolation in_eFadeCurve=AkCurveInterpolation_Linear)
@ AkGlobalCallbackLocation_BeginRender
Start of frame rendering, after having processed game messages.
void(* FuncRequestJobWorker)(AkJobWorkerFunc in_fnJobWorker, AkJobType in_jobType, AkUInt32 in_uNumWorkers, void *in_pClientData)
Callback function prototype definition used for handling requests from JobMgr for new workers to perf...
AkUInt32 uBankReadBufferSize
The number of bytes read by the BankReader when new data needs to be loaded from disk during serializ...
AKSOUNDENGINE_API AKRESULT RemoveListener(AkGameObjectID in_emitterGameObj, AkGameObjectID in_listenerGameObj)
AKSOUNDENGINE_API AKRESULT GetBufferStatusForPinnedEvent(AkUniqueID in_eventID, AkReal32 &out_fPercentBuffered, bool &out_bCachePinnedMemoryFull)
AkUInt32 AkTriggerID
Trigger ID.
AKSOUNDENGINE_API AKRESULT GetSpeakerAngles(AkReal32 *io_pfSpeakerAngles, AkUInt32 &io_uNumAngles, AkReal32 &out_fHeightAngle, AkOutputDeviceID in_idOutput=0)
AKSOUNDENGINE_API void CancelEventCallback(AkPlayingID in_playingID)
Besoin d'aide ?
Des questions ? Des problèmes ? Besoin de plus d'informations ? Contactez-nous, nous pouvons vous aider !
Visitez notre page d'Aide
Décrivez-nous de votre projet. Nous sommes là pour vous aider.
Enregistrez votre projet et nous vous aiderons à démarrer sans aucune obligation !
Partir du bon pied avec Wwise