// Copyright Epic Games, Inc. All Rights Reserved. // This file is automatically generated. Changes to this file may be overwritten. namespace Epic.OnlineServices.RTCAudio { /// /// This struct is used to call . /// public class SetAudioInputSettingsOptions { /// /// The Product User ID of the user trying to request this operation. /// public ProductUserId LocalUserId { get; set; } /// /// The device Id to be used for this user. Pass NULL or empty string to use default input device. /// public string DeviceId { get; set; } /// /// The volume to be configured for this device (range 0.0 to 100.0). /// At the moment, the only value that produce any effect is 0.0 (silence). Any other value is ignored and causes no change to the volume. /// public float Volume { get; set; } /// /// Enable or disable Platform AEC (Acoustic Echo Cancellation) if available. /// public bool PlatformAEC { get; set; } } [System.Runtime.InteropServices.StructLayout(System.Runtime.InteropServices.LayoutKind.Sequential, Pack = 8)] internal struct SetAudioInputSettingsOptionsInternal : ISettable, System.IDisposable { private int m_ApiVersion; private System.IntPtr m_LocalUserId; private System.IntPtr m_DeviceId; private float m_Volume; private int m_PlatformAEC; public ProductUserId LocalUserId { set { Helper.TryMarshalSet(ref m_LocalUserId, value); } } public string DeviceId { set { Helper.TryMarshalSet(ref m_DeviceId, value); } } public float Volume { set { m_Volume = value; } } public bool PlatformAEC { set { Helper.TryMarshalSet(ref m_PlatformAEC, value); } } public void Set(SetAudioInputSettingsOptions other) { if (other != null) { m_ApiVersion = RTCAudioInterface.SetaudioinputsettingsApiLatest; LocalUserId = other.LocalUserId; DeviceId = other.DeviceId; Volume = other.Volume; PlatformAEC = other.PlatformAEC; } } public void Set(object other) { Set(other as SetAudioInputSettingsOptions); } public void Dispose() { Helper.TryMarshalDispose(ref m_LocalUserId); Helper.TryMarshalDispose(ref m_DeviceId); } } }