2 * Copyright 2020 RĂ©mi Bernon for CodeWeavers
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
20 #pragma winrt ns_prefix
23 import
"inspectable.idl";
24 import
"windows.foundation.idl";
25 import
"windows.media.idl";
26 import
"windows.storage.streams.idl";
28 namespace Windows.Media.SpeechSynthesis
30 typedef enum SpeechAppendedSilence SpeechAppendedSilence
;
31 typedef enum SpeechPunctuationSilence SpeechPunctuationSilence
;
32 typedef enum VoiceGender VoiceGender
;
33 interface IInstalledVoicesStatic
;
34 interface IInstalledVoicesStatic2
;
35 interface ISpeechSynthesizer
;
36 interface ISpeechSynthesizer2
;
37 interface ISpeechSynthesizerOptions
;
38 interface ISpeechSynthesizerOptions2
;
39 interface ISpeechSynthesizerOptions3
;
40 interface IVoiceInformation
;
41 interface ISpeechSynthesisStream
;
42 runtimeclass SpeechSynthesizer
;
43 runtimeclass VoiceInformation
;
44 runtimeclass SpeechSynthesizerOptions
;
45 runtimeclass SpeechSynthesisStream
;
49 interface Windows.Foundation.Collections.IIterable
<Windows.Media.SpeechSynthesis.VoiceInformation
*>;
50 interface Windows.Foundation.Collections.IIterator
<Windows.Media.SpeechSynthesis.VoiceInformation
*>;
51 interface Windows.Foundation.Collections.IVectorView
<Windows.Media.SpeechSynthesis.VoiceInformation
*>;
52 interface Windows.Foundation.IAsyncOperation
<Windows.Media.SpeechSynthesis.SpeechSynthesisStream
*>;
53 interface Windows.Foundation.AsyncOperationCompletedHandler
<Windows.Media.SpeechSynthesis.SpeechSynthesisStream
*>;
57 contract
(Windows.Foundation.UniversalApiContract
, 6.0)
59 enum SpeechAppendedSilence
66 contract
(Windows.Foundation.UniversalApiContract
, 6.0)
68 enum SpeechPunctuationSilence
75 contract
(Windows.Foundation.UniversalApiContract
, 1.0)
84 contract
(Windows.Foundation.UniversalApiContract
, 1.0),
85 exclusiveto
(Windows.Media.SpeechSynthesis.SpeechSynthesisStream
),
86 uuid(83e46e93
-244c
-4622-ba0b
-6229c4d0d65d
)
88 interface ISpeechSynthesisStream
: IInspectable
90 Windows.Storage.Streams.IRandomAccessStreamWithContentType
,
91 Windows.Storage.Streams.IRandomAccessStream
,
92 Windows.Foundation.IClosable
,
93 Windows.Storage.Streams.IInputStream
,
94 Windows.Storage.Streams.IOutputStream
,
95 Windows.Storage.Streams.IContentTypeProvider
97 [propget] HRESULT Markers
([out, retval] Windows.Foundation.Collections.IVectorView
<Windows.Media.IMediaMarker
*> **value
);
101 contract
(Windows.Foundation.UniversalApiContract
, 1.0),
102 exclusiveto
(Windows.Media.SpeechSynthesis.SpeechSynthesizer
),
103 uuid(ce9f7c76
-97f4
-4ced
-ad68
-d51c458e45c6
)
105 interface ISpeechSynthesizer
: IInspectable
107 HRESULT SynthesizeTextToStreamAsync
([in] HSTRING text
, [out, retval] Windows.Foundation.IAsyncOperation
<Windows.Media.SpeechSynthesis.SpeechSynthesisStream
*> **operation
);
108 HRESULT SynthesizeSsmlToStreamAsync
([in] HSTRING Ssml
, [out, retval] Windows.Foundation.IAsyncOperation
<Windows.Media.SpeechSynthesis.SpeechSynthesisStream
*> **operation
);
109 [propput] HRESULT Voice
([in] VoiceInformation
*value
);
110 [propget] HRESULT Voice
([out, retval] VoiceInformation
**value
);
114 contract
(Windows.Foundation.UniversalApiContract
, 1.0),
115 exclusiveto
(Windows.Media.SpeechSynthesis.SpeechSynthesizer
),
116 uuid(a7c5ecb2
-4339-4d6a
-bbf8
-c7a4f1544c2e
)
118 interface ISpeechSynthesizer2
: IInspectable
120 [propget] HRESULT Options
([out, retval] SpeechSynthesizerOptions
**value
);
124 contract
(Windows.Foundation.UniversalApiContract
, 1.0),
125 exclusiveto
(Windows.Media.SpeechSynthesis.VoiceInformation
),
126 uuid(b127d6a4
-1291-4604-aa9c
-83134083352c
)
128 interface IVoiceInformation
: IInspectable
130 [propget] HRESULT DisplayName
([out, retval] HSTRING
*value
);
131 [propget] HRESULT Id([out, retval] HSTRING
*value
);
132 [propget] HRESULT Language
([out, retval] HSTRING
*value
);
133 [propget] HRESULT Description
([out, retval] HSTRING
*value
);
134 [propget] HRESULT Gender
([out, retval] VoiceGender
*value
);
138 contract
(Windows.Foundation.UniversalApiContract
, 4.0),
139 exclusiveto
(Windows.Media.SpeechSynthesis.SpeechSynthesizerOptions
),
140 uuid(a0e23871
-cc3d
-43c9
-91b1
-ee185324d83d
)
142 interface ISpeechSynthesizerOptions
: IInspectable
144 [propget] HRESULT IncludeWordBoundaryMetadata
([out, retval] boolean *value
);
145 [propput] HRESULT IncludeWordBoundaryMetadata
([in] boolean value
);
146 [propget] HRESULT IncludeSentenceBoundaryMetadata
([out, retval] boolean *value
);
147 [propput] HRESULT IncludeSentenceBoundaryMetadata
([in] boolean value
);
151 contract
(Windows.Foundation.UniversalApiContract
, 5.0),
152 exclusiveto
(Windows.Media.SpeechSynthesis.SpeechSynthesizerOptions
),
153 uuid(1cbef60e
-119c
-4bed
-b118
-d250c3a25793
),
155 interface ISpeechSynthesizerOptions2
: IInspectable
157 [propget] HRESULT AudioVolume
([out, retval] DOUBLE *value
);
158 [propput] HRESULT AudioVolume
([in] DOUBLE value
);
159 [propget] HRESULT SpeakingRate
([out, retval] DOUBLE *value
);
160 [propput] HRESULT SpeakingRate
([in] DOUBLE value
);
161 [propget] HRESULT AudioPitch
([out, retval] DOUBLE *value
);
162 [propput] HRESULT AudioPitch
([in] DOUBLE value
);
166 contract
(Windows.Foundation.UniversalApiContract
, 6.0),
167 exclusiveto
(Windows.Media.SpeechSynthesis.SpeechSynthesizerOptions
),
168 uuid(401ed877
-902c
-4814-a582
-a5d0c0769fa8
)
170 interface ISpeechSynthesizerOptions3
: IInspectable
172 [propget] HRESULT AppendedSilence
([out, retval] Windows.Media.SpeechSynthesis.SpeechAppendedSilence
*value
);
173 [propput] HRESULT AppendedSilence
([in] Windows.Media.SpeechSynthesis.SpeechAppendedSilence value
);
174 [propget] HRESULT PunctuationSilence
([out, retval] Windows.Media.SpeechSynthesis.SpeechPunctuationSilence
*value
);
175 [propput] HRESULT PunctuationSilence
([in] Windows.Media.SpeechSynthesis.SpeechPunctuationSilence value
);
179 contract
(Windows.Foundation.UniversalApiContract
, 1.0),
180 exclusiveto
(Windows.Media.SpeechSynthesis.SpeechSynthesizer
),
181 uuid(7d526ecc
-7533-4c3f
-85be
-888c2baeebdc
)
183 interface IInstalledVoicesStatic
: IInspectable
185 [propget] HRESULT AllVoices
([out, retval] Windows.Foundation.Collections.IVectorView
<VoiceInformation
*> **value
);
186 [propget] HRESULT DefaultVoice
([out, retval] VoiceInformation
**value
);
190 contract
(Windows.Foundation.UniversalApiContract
, 1.0),
191 marshaling_behavior
(agile
)
193 runtimeclass VoiceInformation
195 [default] interface Windows.Media.SpeechSynthesis.IVoiceInformation
;
199 contract
(Windows.Foundation.UniversalApiContract
, 4.0),
200 marshaling_behavior
(agile
)
202 runtimeclass SpeechSynthesizerOptions
204 [default] interface Windows.Media.SpeechSynthesis.ISpeechSynthesizerOptions
;
205 [contract
(Windows.Foundation.UniversalApiContract
, 5.0)] interface Windows.Media.SpeechSynthesis.ISpeechSynthesizerOptions2
;
206 [contract
(Windows.Foundation.UniversalApiContract
, 6.0)] interface Windows.Media.SpeechSynthesis.ISpeechSynthesizerOptions3
;
210 contract
(Windows.Foundation.UniversalApiContract
, 1.0),
211 marshaling_behavior
(agile
)
213 runtimeclass SpeechSynthesisStream
215 [default] interface Windows.Media.SpeechSynthesis.ISpeechSynthesisStream
;
216 interface Windows.Storage.Streams.IRandomAccessStreamWithContentType
;
217 interface Windows.Storage.Streams.IContentTypeProvider
;
218 interface Windows.Storage.Streams.IRandomAccessStream
;
219 interface Windows.Storage.Streams.IOutputStream
;
220 interface Windows.Foundation.IClosable
;
221 interface Windows.Storage.Streams.IInputStream
;
225 activatable
(Windows.Foundation.UniversalApiContract
, 1.0),
226 contract
(Windows.Foundation.UniversalApiContract
, 1.0),
227 marshaling_behavior
(agile
),
228 static
(Windows.Media.SpeechSynthesis.IInstalledVoicesStatic
, Windows.Foundation.UniversalApiContract
, 1.0),
229 static
(Windows.Media.SpeechSynthesis.IInstalledVoicesStatic2
, Windows.Foundation.UniversalApiContract
, 5.0)
231 runtimeclass SpeechSynthesizer
233 [default] interface Windows.Media.SpeechSynthesis.ISpeechSynthesizer
;
234 interface Windows.Foundation.IClosable
;
235 [contract
(Windows.Foundation.UniversalApiContract
, 4.0)] interface Windows.Media.SpeechSynthesis.ISpeechSynthesizer2
;