116 lines
4.2 KiB
C#
116 lines
4.2 KiB
C#
|
|
/*******************************************************************************
|
|||
|
|
The content of this file includes portions of the proprietary AUDIOKINETIC Wwise
|
|||
|
|
Technology released in source code form as part of the game integration package.
|
|||
|
|
The content of this file may not be used without valid licenses to the
|
|||
|
|
AUDIOKINETIC Wwise Technology.
|
|||
|
|
Note that the use of the game engine is subject to the Unity(R) Terms of
|
|||
|
|
Service at https://unity3d.com/legal/terms-of-service
|
|||
|
|
|
|||
|
|
License Usage
|
|||
|
|
|
|||
|
|
Licensees holding valid licenses to the AUDIOKINETIC Wwise Technology may use
|
|||
|
|
this file in accordance with the end user license agreement provided with the
|
|||
|
|
software or, alternatively, in accordance with the terms contained
|
|||
|
|
in a written agreement between you and Audiokinetic Inc.
|
|||
|
|
Copyright (c) 2024 Audiokinetic Inc.
|
|||
|
|
*******************************************************************************/
|
|||
|
|
|
|||
|
|
#if UNITY_ANDROID && !UNITY_EDITOR
|
|||
|
|
public partial class AkCommonUserSettings
|
|||
|
|
{
|
|||
|
|
partial void SetSampleRate(AkPlatformInitSettings settings)
|
|||
|
|
{
|
|||
|
|
settings.uSampleRate = m_SampleRate;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
public class AkAndroidSettings : AkWwiseInitializationSettings.PlatformSettings
|
|||
|
|
{
|
|||
|
|
#if UNITY_EDITOR
|
|||
|
|
[UnityEditor.InitializeOnLoadMethod]
|
|||
|
|
private static void AutomaticPlatformRegistration()
|
|||
|
|
{
|
|||
|
|
if (UnityEditor.AssetDatabase.IsAssetImportWorkerProcess())
|
|||
|
|
{
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
RegisterPlatformSettingsClass<AkAndroidSettings>("Android");
|
|||
|
|
}
|
|||
|
|
#endif // UNITY_EDITOR
|
|||
|
|
|
|||
|
|
public AkAndroidSettings()
|
|||
|
|
{
|
|||
|
|
SetUseGlobalPropertyValue("UserSettings.m_MainOutputSettings.m_PanningRule", false);
|
|||
|
|
SetUseGlobalPropertyValue("UserSettings.m_MainOutputSettings.m_ChannelConfig.m_ChannelConfigType", false);
|
|||
|
|
SetUseGlobalPropertyValue("UserSettings.m_MainOutputSettings.m_ChannelConfig.m_ChannelMask", false);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
protected override AkCommonUserSettings GetUserSettings()
|
|||
|
|
{
|
|||
|
|
return UserSettings;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
protected override AkCommonAdvancedSettings GetAdvancedSettings()
|
|||
|
|
{
|
|||
|
|
return AdvancedSettings;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
protected override AkCommonCommSettings GetCommsSettings()
|
|||
|
|
{
|
|||
|
|
return CommsSettings;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
[System.Serializable]
|
|||
|
|
public class PlatformAdvancedSettings : AkCommonAdvancedSettings
|
|||
|
|
{
|
|||
|
|
public enum AudioAPI
|
|||
|
|
{
|
|||
|
|
None = 0,
|
|||
|
|
AAudio = 1 << 0,
|
|||
|
|
OpenSL_ES = 1 << 1,
|
|||
|
|
Default = ~0
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
[UnityEngine.Tooltip("Main audio API to use. Leave set to \"Default\" for the default audio sink.")]
|
|||
|
|
[AkEnumFlag(typeof(AudioAPI))]
|
|||
|
|
public AudioAPI m_AudioAPI = AudioAPI.Default;
|
|||
|
|
|
|||
|
|
[UnityEngine.Tooltip("Used when hardware-preferred frame size and user-preferred frame size are not compatible. If true (default), the sound engine will initialize to a multiple of the HW setting, close to the user setting. If false, the user setting is used as is, regardless of the HW preference (might incur a performance hit).")]
|
|||
|
|
public bool m_RoundFrameSizeToHardwareSize = true;
|
|||
|
|
|
|||
|
|
[UnityEngine.Tooltip("Use the lowest output latency possible for the current hardware. If true (default), the output audio device will be initialized in low-latency operation, allowing for more responsive audio playback on most devices. However, when operating in low-latency mode, some devices may have differences in audio reproduction. If false, the output audio device will be initialized without low-latency operation.")]
|
|||
|
|
public bool m_UseLowLatencyMode = true;
|
|||
|
|
|
|||
|
|
public override void CopyTo(AkPlatformInitSettings settings)
|
|||
|
|
{
|
|||
|
|
#if UNITY_ANDROID && !UNITY_EDITOR
|
|||
|
|
settings.eAudioAPI = (AkAudioAPI)m_AudioAPI;
|
|||
|
|
settings.bRoundFrameSizeToHWSize = m_RoundFrameSizeToHardwareSize;
|
|||
|
|
settings.bEnableLowLatency = m_UseLowLatencyMode;
|
|||
|
|
#endif
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
[UnityEngine.HideInInspector]
|
|||
|
|
public AkCommonUserSettings UserSettings = new AkCommonUserSettings
|
|||
|
|
{
|
|||
|
|
m_MainOutputSettings = new AkCommonOutputSettings
|
|||
|
|
{
|
|||
|
|
m_PanningRule = AkCommonOutputSettings.PanningRule.Headphones,
|
|||
|
|
m_ChannelConfig = new AkCommonOutputSettings.ChannelConfiguration
|
|||
|
|
{
|
|||
|
|
m_ChannelConfigType = AkCommonOutputSettings.ChannelConfiguration.ChannelConfigType.Standard,
|
|||
|
|
m_ChannelMask = AkCommonOutputSettings.ChannelConfiguration.ChannelMask.SETUP_STEREO,
|
|||
|
|
},
|
|||
|
|
},
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
[UnityEngine.HideInInspector]
|
|||
|
|
public PlatformAdvancedSettings AdvancedSettings;
|
|||
|
|
|
|||
|
|
[UnityEngine.HideInInspector]
|
|||
|
|
public AkCommonCommSettings CommsSettings;
|
|||
|
|
}
|