323 lines
15 KiB
C#
323 lines
15 KiB
C#
using System;
|
|
using System.Runtime.CompilerServices;
|
|
using System.Runtime.InteropServices;
|
|
using System.Runtime.InteropServices.ComTypes;
|
|
|
|
namespace SpeechLib {
|
|
[ComImport]
|
|
[CoClass(typeof(SpVoiceClass))]
|
|
[Guid("269316D8-57BD-11D2-9EEE-00C04F797396")]
|
|
public interface SpVoice : ISpeechVoice, _ISpeechVoiceEvents_Event { }
|
|
|
|
[ComImport]
|
|
[ComSourceInterfaces("SpeechLib._ISpeechVoiceEvents\0\0")]
|
|
[TypeLibType(2)]
|
|
[ClassInterface((ClassInterfaceType)0)]
|
|
[Guid("96749377-3391-11D2-9EE3-00C04F797396")]
|
|
public class SpVoiceClass : ISpeechVoice, SpVoice, _ISpeechVoiceEvents_Event, ISpVoice, ISpPhoneticAlphabetSelection {
|
|
[DispId(1)]
|
|
public virtual extern ISpeechVoiceStatus Status {
|
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
|
[DispId(1)]
|
|
[return: MarshalAs(UnmanagedType.Interface)]
|
|
get;
|
|
}
|
|
|
|
[DispId(2)]
|
|
public virtual extern SpObjectToken Voice {
|
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
|
[DispId(2)]
|
|
[return: MarshalAs(UnmanagedType.Interface)]
|
|
get;
|
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
|
[DispId(2)]
|
|
[param: In]
|
|
[param: MarshalAs(UnmanagedType.Interface)]
|
|
set;
|
|
}
|
|
|
|
[DispId(3)]
|
|
public virtual extern SpObjectToken AudioOutput {
|
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
|
[DispId(3)]
|
|
[return: MarshalAs(UnmanagedType.Interface)]
|
|
get;
|
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
|
[DispId(3)]
|
|
[param: In]
|
|
[param: MarshalAs(UnmanagedType.Interface)]
|
|
set;
|
|
}
|
|
|
|
[DispId(4)]
|
|
public virtual extern ISpeechBaseStream AudioOutputStream {
|
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
|
[DispId(4)]
|
|
[return: MarshalAs(UnmanagedType.Interface)]
|
|
get;
|
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
|
[DispId(4)]
|
|
[param: In]
|
|
[param: MarshalAs(UnmanagedType.Interface)]
|
|
set;
|
|
}
|
|
|
|
[DispId(5)]
|
|
public virtual extern int Rate {
|
|
[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 int Volume {
|
|
[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 bool AllowAudioOutputFormatChangesOnNextSet {
|
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
|
[DispId(7)]
|
|
[TypeLibFunc(64)]
|
|
get;
|
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
|
[DispId(7)]
|
|
[TypeLibFunc(64)]
|
|
[param: In]
|
|
set;
|
|
}
|
|
|
|
[DispId(8)]
|
|
public virtual extern SpeechVoiceEvents EventInterests {
|
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
|
[DispId(8)]
|
|
get;
|
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
|
[DispId(8)]
|
|
[param: In]
|
|
set;
|
|
}
|
|
|
|
[DispId(9)]
|
|
public virtual extern SpeechVoicePriority Priority {
|
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
|
[DispId(9)]
|
|
get;
|
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
|
[DispId(9)]
|
|
[param: In]
|
|
set;
|
|
}
|
|
|
|
[DispId(10)]
|
|
public virtual extern SpeechVoiceEvents AlertBoundary {
|
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
|
[DispId(10)]
|
|
get;
|
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
|
[DispId(10)]
|
|
[param: In]
|
|
set;
|
|
}
|
|
|
|
[DispId(11)]
|
|
public virtual extern int SynchronousSpeakTimeout {
|
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
|
[DispId(11)]
|
|
get;
|
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
|
[DispId(11)]
|
|
[param: In]
|
|
set;
|
|
}
|
|
|
|
public virtual extern event _ISpeechVoiceEvents_StartStreamEventHandler StartStream;
|
|
|
|
public virtual extern event _ISpeechVoiceEvents_EndStreamEventHandler EndStream;
|
|
|
|
public virtual extern event _ISpeechVoiceEvents_VoiceChangeEventHandler VoiceChange;
|
|
|
|
public virtual extern event _ISpeechVoiceEvents_BookmarkEventHandler Bookmark;
|
|
|
|
public virtual extern event _ISpeechVoiceEvents_WordEventHandler Word;
|
|
|
|
public virtual extern event _ISpeechVoiceEvents_SentenceEventHandler Sentence;
|
|
|
|
public virtual extern event _ISpeechVoiceEvents_PhonemeEventHandler Phoneme;
|
|
|
|
public virtual extern event _ISpeechVoiceEvents_VisemeEventHandler Viseme;
|
|
|
|
public virtual extern event _ISpeechVoiceEvents_AudioLevelEventHandler AudioLevel;
|
|
|
|
public virtual extern event _ISpeechVoiceEvents_EnginePrivateEventHandler EnginePrivate;
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
|
[DispId(12)]
|
|
public virtual extern int Speak([In][MarshalAs(UnmanagedType.BStr)] string Text, [In] SpeechVoiceSpeakFlags Flags = SpeechVoiceSpeakFlags.SVSFDefault);
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
|
[DispId(13)]
|
|
public virtual extern int SpeakStream([In][MarshalAs(UnmanagedType.Interface)] ISpeechBaseStream Stream, [In] SpeechVoiceSpeakFlags Flags = SpeechVoiceSpeakFlags.SVSFDefault);
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
|
[DispId(14)]
|
|
public virtual extern void Pause();
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
|
[DispId(15)]
|
|
public virtual extern void Resume();
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
|
[DispId(16)]
|
|
public virtual extern int Skip([In][MarshalAs(UnmanagedType.BStr)] string Type, [In] int NumItems);
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
|
[DispId(17)]
|
|
[return: MarshalAs(UnmanagedType.Interface)]
|
|
public virtual extern ISpeechObjectTokens GetVoices([In][MarshalAs(UnmanagedType.BStr)] string RequiredAttributes = "", [In][MarshalAs(UnmanagedType.BStr)] string OptionalAttributes = "");
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
|
[DispId(18)]
|
|
[return: MarshalAs(UnmanagedType.Interface)]
|
|
public virtual extern ISpeechObjectTokens GetAudioOutputs([In][MarshalAs(UnmanagedType.BStr)] string RequiredAttributes = "", [In][MarshalAs(UnmanagedType.BStr)] string OptionalAttributes = "");
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
|
[DispId(19)]
|
|
public virtual extern bool WaitUntilDone([In] int msTimeout);
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
|
[DispId(20)]
|
|
[TypeLibFunc(64)]
|
|
public virtual extern nint SpeakCompleteEvent();
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
|
[DispId(21)]
|
|
public virtual extern bool IsUISupported([In][MarshalAs(UnmanagedType.BStr)] string TypeOfUI, [Optional][In][MarshalAs(UnmanagedType.Struct)] ref object ExtraData);
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
|
[DispId(22)]
|
|
public virtual extern void DisplayUI([In] int hWndParent, [In][MarshalAs(UnmanagedType.BStr)] string Title, [In][MarshalAs(UnmanagedType.BStr)] string TypeOfUI, [Optional][In][MarshalAs(UnmanagedType.Struct)] ref object ExtraData);
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
|
public virtual extern void SetNotifySink([In][MarshalAs(UnmanagedType.Interface)] ISpNotifySink pNotifySink);
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
|
public virtual extern void SetNotifyWindowMessage([In][ComAliasName("SpeechLib.wireHWND")] ref _RemotableHandle hWnd, [In] uint Msg, [In][ComAliasName("SpeechLib.UINT_PTR")] ulong wParam, [In][ComAliasName("SpeechLib.LONG_PTR")] long lParam);
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
|
public virtual extern void SetNotifyCallbackFunction([In] ref IntPtr pfnCallback, [In][ComAliasName("SpeechLib.UINT_PTR")] ulong wParam, [In][ComAliasName("SpeechLib.LONG_PTR")] long lParam);
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
|
public virtual extern void SetNotifyCallbackInterface([In] ref IntPtr pSpCallback, [In][ComAliasName("SpeechLib.UINT_PTR")] ulong wParam, [In][ComAliasName("SpeechLib.LONG_PTR")] long lParam);
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
|
public virtual extern void SetNotifyWin32Event();
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
|
public virtual extern void WaitForNotifyEvent([In] uint dwMilliseconds);
|
|
|
|
[MethodImpl(MethodImplOptions.PreserveSig | MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
|
public virtual extern IntPtr GetNotifyEventHandle();
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
|
public virtual extern void SetInterest([In] ulong ullEventInterest, [In] ulong ullQueuedInterest);
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
|
public virtual extern void GetEvents([In] uint ulCount, out SPEVENT pEventArray, out uint pulFetched);
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
|
public virtual extern void GetInfo(out SPEVENTSOURCEINFO pInfo);
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
|
public virtual extern void SetOutput([In][MarshalAs(UnmanagedType.IUnknown)] object pUnkOutput, [In] int fAllowFormatChanges);
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
|
public virtual extern void GetOutputObjectToken([MarshalAs(UnmanagedType.Interface)] out ISpObjectToken ppObjectToken);
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
|
public virtual extern void GetOutputStream([MarshalAs(UnmanagedType.Interface)] out ISpStreamFormat ppStream);
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
|
public virtual extern void ISpVoice_Pause();
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
|
public virtual extern void ISpVoice_Resume();
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
|
public virtual extern void SetVoice([In][MarshalAs(UnmanagedType.Interface)] ISpObjectToken pToken);
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
|
public virtual extern void GetVoice([MarshalAs(UnmanagedType.Interface)] out ISpObjectToken ppToken);
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
|
public virtual extern void Speak([In][MarshalAs(UnmanagedType.LPWStr)] string pwcs, [In] uint dwFlags, out uint pulStreamNumber);
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
|
public virtual extern void SpeakStream([In][MarshalAs(UnmanagedType.Interface)] IStream pStream, [In] uint dwFlags, out uint pulStreamNumber);
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
|
public virtual extern void GetStatus(out SPVOICESTATUS pStatus, [MarshalAs(UnmanagedType.LPWStr)] out string ppszLastBookmark);
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
|
public virtual extern void Skip([In][MarshalAs(UnmanagedType.LPWStr)] string pItemType, [In] int lNumItems, out uint pulNumSkipped);
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
|
public virtual extern void SetPriority([In] SPVPRIORITY ePriority);
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
|
public virtual extern void GetPriority(out SPVPRIORITY pePriority);
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
|
public virtual extern void SetAlertBoundary([In] SPEVENTENUM eBoundary);
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
|
public virtual extern void GetAlertBoundary(out SPEVENTENUM peBoundary);
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
|
public virtual extern void SetRate([In] int RateAdjust);
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
|
public virtual extern void GetRate(out int pRateAdjust);
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
|
public virtual extern void SetVolume([In] ushort usVolume);
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
|
public virtual extern void GetVolume(out ushort pusVolume);
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
|
public virtual extern void WaitUntilDone([In] uint msTimeout);
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
|
public virtual extern void SetSyncSpeakTimeout([In] uint msTimeout);
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
|
public virtual extern void GetSyncSpeakTimeout(out uint pmsTimeout);
|
|
|
|
[MethodImpl(MethodImplOptions.PreserveSig | MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
|
public virtual extern IntPtr ISpVoice_SpeakCompleteEvent();
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
|
public virtual extern void IsUISupported([In][MarshalAs(UnmanagedType.LPWStr)] string pszTypeOfUI, [In] IntPtr pvExtraData, [In] uint cbExtraData, out int pfSupported);
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
|
public virtual extern void DisplayUI([In][ComAliasName("SpeechLib.wireHWND")] ref _RemotableHandle hWndParent, [In][MarshalAs(UnmanagedType.LPWStr)] string pszTitle, [In][MarshalAs(UnmanagedType.LPWStr)] string pszTypeOfUI, [In] IntPtr pvExtraData, [In] uint cbExtraData);
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
|
public virtual extern void IsAlphabetUPS(out int pfIsUPS);
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
|
|
public virtual extern void SetAlphabetToUPS([In] int fForceUPS);
|
|
}
|
|
}
|