Navigation
API > API/Runtime > API/Runtime/AudioExtensions
List of classes that that interface with Soundfield objects:
Interfaces for Soundfield Encoding and Decoding
This set of interfaces can be implemented to add support for encoding to and decoding from a soundfield format. There are four classes that are required to implement a soundfield format:
ISoundfieldPacket: Container for a single audio callback's resulting data for the soundfield format. For example, for first order ambisonics, this would contain an interleaved buffer of floats. For a proprietary spatial audio format, this would contain a bitstream.
USoundfieldEncodingSettingsBase: These are game thread-local, inspectable settings to define how a soundfield is getting encoded. For example, this may contain the order of an ambisonics sound field.
ISoundfieldEncodingSettingsProxy: This should contain all data from USoundfieldEncodingSettingsBase that needs to be read by an encoder or transcoder stream to apply the settings from an implementation of USoundfieldEncodingSettingsBase.
ISoundfieldEncoderStream: Class that encodes interleaved audio from a set of arbitrary locations to an ISoundfieldPacket. ISoundfieldDecoderStream: Class that decodes audio from an ISoundfieldPacket to interleaved audio at a set of arbitrary locations. ISoundfieldTranscodeStream: Class that translates a soundfield stream from one type to another. ISoundfieldMixerStream: Class that sums together multiple incoming ISoundfieldPackets into one ISoundfieldPacket.
ISoundfieldFactory: Factory class that declares the name of your format and creates new encoder, decoders, transcoders and mixers as requested.
| Name | Audio::ETransformationPriority |
| Type | enum |
| Header File | /Engine/Source/Runtime/AudioExtensions/Public/IWaveformTransformation.h |
| Include Path | #include "IWaveformTransformation.h" |
Syntax
namespace Audio
{
enum ETransformationPriority
{
None = 0,
Low,
High,
}
}
Values
| Name | Remarks |
|---|---|
| None | |
| Low | |
| High |