Version
menu

Wwise SDK 2025.1.1
AkCmd_SetSpeakerAngles Struct Reference

#include <AkCommandTypes.h>

Public Attributes

AkUInt32 numAngles
 Number of elements in in_pfSpeakerAngles. It must correspond to AK::GetNumberOfAnglesForConfig( AK_SPEAKER_SETUP_DEFAULT_PLANE ) (the value returned by GetSpeakerAngles()). More...
 
AkReal32 heightAngle
 Elevation of the height layer, in degrees relative to the plane [-90,90], but it cannot be 0. More...
 
AkOutputDeviceID outputID
 Output ID to set the panning rule on. This can be obtained from AK_SoundEngine_GetOutputID. Set to 0 for primary output. More...
 

Detailed Description

Sets speaker angles of the specified device. Speaker angles are used for 3D positioning of sounds over standard configurations. Note that the current version of Wwise only supports positioning on the plane.

The Sound Engine expects an array of loudspeaker pair angles after the command (in degrees relative to azimuth ]0,180]). For example:

auto cmd = (AkCmd_SetSpeakerAngles*)AK_CommandBuffer_Add(buffer, AkCommand_SetSpeakerAngles);
cmd->idOutput = 0;
cmd->fHeightAngle = 30.0f;
cmd->uNumAngles = myAngles.size();
AK_CommandBuffer_AddArray(buffer, sizeof(AkReal32), myAngles.size(), myAngles.data());

The speaker angles are expressed as an array of loudspeaker pairs, in degrees, relative to azimuth ]0,180], for a 7.1 speaker configuration. Supported loudspeaker setups are always symmetric; the center speaker is always in the middle and thus not specified by angles. Angles must be set in ascending order.

Note:
  • This command requires the minimum speaker angle between any pair of speakers to be at least 5 degrees.
  • When setting angles for a 5.1 speaker layout, we recommend that you select an angle for the SL and SR channels, then subtract 15 degrees for in_pfSpeakerAngles[1] and add 15 degrees for in_pfSpeakerAngles[2] to set the arc appropriately.

Typical usage:

  • Initialize the sound engine and/or add secondary output(s).
  • Get number of speaker angles and their value into an array using GetSpeakerAngles().
  • Modify the angles and call SetSpeakerAngles().
    Warning
    This command only applies to configurations (or subset of these configurations) that are standard and whose speakers are on the plane (2D).
    This command can fail for the following reasons:
  • AK_InvalidParameter when one of the angle values is NaN or Inf, or if one of the parameter is invalid. Check the debug log.
  • AK_IDNotFound if outputID refers to a non-existent device
  • AK_InsufficientMemory if there is not enough memory to complete the operation.
See also

Definition at line 1074 of file AkCommandTypes.h.


Was this page helpful?

Need Support?

Questions? Problems? Need more info? Contact us, and we can help!

Visit our Support page

Tell us about your project. We're here to help.

Register your project and we'll help you get started with no strings attached!

Get started with Wwise