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
 ///<summary>Finish recording the audio from this submix and export it as a wav file or a USoundWave.</summary>
 public void StopRecordingOutput(UObject WorldContextObject, EAudioRecordingExportType ExportType, string Name, string Path, SoundWave ExistingSoundWaveToOverwrite) =>
 SoundSubmix_methods.StopRecordingOutput_method.Invoke(ObjPointer, WorldContextObject, ExportType, Name, Path, ExistingSoundWaveToOverwrite);
 ///<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);