Version

menu_open

How to Create Wwise Sound Engine Audio Device Plug-ins (Sink Plug-ins)

Audio Device Plug-in Interface Implementation

Audio device plug-ins are the endpoints of the audio processing chain. Natural Audio devices are the OS sound systems, but there can be more possible outputs.

Writing audio device plug-ins consists of implementing the AK::IAkSinkPlugin interface.

Only the functions specific to this interface are covered there. Refer to How to Create Wwise Sound Engine Plug-ins, for information about interface components shared with other plug-in types (AK::IAkPlugin interface). Also refer to the provided AkSink plug-in for details (Samples).

Note.gif
Note: For now, the only audio device that is available to be replaced as a plug-in is the Main output audio device. Your plug-in will need to be a proper replacement for the Main Audio device. Secondary outputs are not yet admissible for plug-in replacements.

Important Notes for Implementing Audio Device Plugins

  • When a plug-in is used in Wwise, parameter changes are sent down to the parameter node whether or not the parameter supports RTPCs. This allows the plugin to support runtime value changes of non-RTPC values if desired for Wwise usage. If you do not want your plugin to support this, you should make a copy of the parameter values at initialization time to ensure they remain the same throughout the plug-in's duration.

Testing your Audio Device plug-in

After implementing the Wwise part of the plug-in and the sound engine part, here are the steps to test your new plug-in.

  • In your Wwise Project, create an Audio Device Shareset using your new plug-in. Give the ShareSet a unique name.
  • Generate you Banks.
  • Make sure you register your new plug-in in sound engine initialization Wwise Sound Engine Plug-ins Overview
  • Specify your audio device to be used in the initialization parameters of the sound engine.

For example:

    AkInitSettings initSettings;
    AkPlatformInitSettings platformInitSettings;
    AK::SoundEngine::GetDefaultInitSettings( initSettings );
    AK::SoundEngine::GetDefaultPlatformInitSettings( platformInitSettings );

    initSettings.settingsMainOutput.audioDeviceShareset = AK::SoundEngine::GetIDFromString("YourNewAudioDeviceSharesetNameHere");
    
    AK::SoundEngine::Init( &initSettings, &platformInitSettings );

For more information, refer to the following sections:


Cette page a-t-elle été utile ?

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