fix: Fix TTS COM exception in IL2CPP

This commit is contained in:
2025-05-07 22:56:32 +08:00
parent 5daee1a01a
commit a3efe939e8
107 changed files with 3862 additions and 79 deletions

View File

@@ -0,0 +1,95 @@
using System;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
namespace SpeechLib {
[ComImport]
[CoClass(typeof(SpWaveFormatExClass))]
[Guid("7A1EF0D5-1581-4741-88E4-209A49F11A10")]
public interface SpWaveFormatEx : ISpeechWaveFormatEx { }
[ComImport]
[TypeLibType(2)]
[ClassInterface((ClassInterfaceType)0)]
[Guid("C79A574C-63BE-44B9-801F-283F87F898BE")]
public class SpWaveFormatExClass : ISpeechWaveFormatEx, SpWaveFormatEx {
[DispId(1)]
public virtual extern short FormatTag {
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1)]
get;
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(1)]
[param: In]
set;
}
[DispId(2)]
public virtual extern short Channels {
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(2)]
get;
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(2)]
[param: In]
set;
}
[DispId(3)]
public virtual extern int SamplesPerSec {
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(3)]
get;
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(3)]
[param: In]
set;
}
[DispId(4)]
public virtual extern int AvgBytesPerSec {
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(4)]
get;
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(4)]
[param: In]
set;
}
[DispId(5)]
public virtual extern short BlockAlign {
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(5)]
get;
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(5)]
[param: In]
set;
}
[DispId(6)]
public virtual extern short BitsPerSample {
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(6)]
get;
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(6)]
[param: In]
set;
}
[DispId(7)]
public virtual extern object ExtraData {
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(7)]
[return: MarshalAs(UnmanagedType.Struct)]
get;
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[DispId(7)]
[param: In]
[param: MarshalAs(UnmanagedType.Struct)]
set;
}
}
}