internal static unsafe SoundWave Invoke(UObject WorldContextObject, EAudioRecordingExportType ExportType, string Name, string Path, SoundSubmix SubmixToRecord, SoundWave ExistingSoundWaveToOverwrite)
            {
                long *p = stackalloc long[] { 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L };
                byte *b = (byte *)p;

                *((IntPtr *)(b + 0)) = WorldContextObject;
                *(b + 8)             = (byte)ExportType;
                var Name_handle = GCHandle.Alloc(Name, GCHandleType.Pinned);

                *(IntPtr *)(b + 16)                = Name_handle.AddrOfPinnedObject();
                *(int *)(b + IntPtr.Size + 16)     = Name.Length;
                *(int *)(b + IntPtr.Size + 4 + 16) = Name.Length;
                var Path_handle = GCHandle.Alloc(Path, GCHandleType.Pinned);

                *(IntPtr *)(b + 32)                = Path_handle.AddrOfPinnedObject();
                *(int *)(b + IntPtr.Size + 32)     = Path.Length;
                *(int *)(b + IntPtr.Size + 4 + 32) = Path.Length;
                *((IntPtr *)(b + 48))              = SubmixToRecord;
                *((IntPtr *)(b + 56))              = ExistingSoundWaveToOverwrite;
                Main.GetProcessEvent(AudioMixerBlueprintLibrary.DefaultObject, StopRecordingOutput_ptr, new IntPtr(p));;
                Name_handle.Free();
                Path_handle.Free();
                return(*((IntPtr *)(b + 64)));
            }
        }
示例#2
0
            internal static unsafe void Invoke(IntPtr obj, SoundSubmix Submix, float SendLevel)
            {
                long *p = stackalloc long[] { 0L, 0L, 0L };
                byte *b = (byte *)p;

                *((IntPtr *)(b + 0)) = Submix;
                *((float *)(b + 8))  = SendLevel;
                Main.GetProcessEvent(obj, SetSubmixSend_ptr, new IntPtr(p));;
            }
        }
            internal static unsafe void Invoke(UObject WorldContextObject, SoundSubmix SubmixToPause)
            {
                long *p = stackalloc long[] { 0L, 0L, 0L };
                byte *b = (byte *)p;

                *((IntPtr *)(b + 0)) = WorldContextObject;
                *((IntPtr *)(b + 8)) = SubmixToPause;
                Main.GetProcessEvent(AudioMixerBlueprintLibrary.DefaultObject, ResumeRecordingOutput_ptr, new IntPtr(p));;
            }
        }
            internal static unsafe void Invoke(UObject WorldContextObject, float ExpectedDuration, SoundSubmix SubmixToRecord)
            {
                long *p = stackalloc long[] { 0L, 0L, 0L, 0L };
                byte *b = (byte *)p;

                *((IntPtr *)(b + 0))  = WorldContextObject;
                *((float *)(b + 8))   = ExpectedDuration;
                *((IntPtr *)(b + 16)) = SubmixToRecord;
                Main.GetProcessEvent(AudioMixerBlueprintLibrary.DefaultObject, StartRecordingOutput_ptr, new IntPtr(p));;
            }
        }
示例#5
0
 ///<summary>Sets how much audio the sound should send to the given submix.</summary>
 public void SetSubmixSend(SoundSubmix Submix, float SendLevel) =>
 SynthComponent_methods.SetSubmixSend_method.Invoke(ObjPointer, Submix, SendLevel);
 ///<summary>Stop recording audio. Path can be absolute, or relative (to the /Saved/BouncedWavFiles folder). By leaving the Submix To Record field blank, you can record the master output of the game.</summary>
 public static SoundWave StopRecordingOutput(UObject WorldContextObject, EAudioRecordingExportType ExportType, string Name, string Path, SoundSubmix SubmixToRecord, SoundWave ExistingSoundWaveToOverwrite) =>
 AudioMixerBlueprintLibrary_methods.StopRecordingOutput_method.Invoke(WorldContextObject, ExportType, Name, Path, SubmixToRecord, ExistingSoundWaveToOverwrite);
 ///<summary>Start recording audio. By leaving the Submix To Record field blank, you can record the master output of the game.</summary>
 public static void StartRecordingOutput(UObject WorldContextObject, float ExpectedDuration, SoundSubmix SubmixToRecord) =>
 AudioMixerBlueprintLibrary_methods.StartRecordingOutput_method.Invoke(WorldContextObject, ExpectedDuration, SubmixToRecord);
 ///<summary>Resume recording audio after pausing. By leaving the Submix To Record field blank, you can record the master output of the game.</summary>
 public static void ResumeRecordingOutput(UObject WorldContextObject, SoundSubmix SubmixToPause) =>
 AudioMixerBlueprintLibrary_methods.ResumeRecordingOutput_method.Invoke(WorldContextObject, SubmixToPause);