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";
28 namespace Foundation
{
32 namespace SpeechSynthesis
{
33 typedef enum VoiceGender VoiceGender
;
34 interface IInstalledVoicesStatic
;
35 interface IInstalledVoicesStatic2
;
36 interface ISpeechSynthesizer
;
37 interface ISpeechSynthesizer2
;
38 interface IVoiceInformation
;
39 interface ISpeechSynthesisStream
;
40 runtimeclass SpeechSynthesizer
;
41 runtimeclass VoiceInformation
;
42 runtimeclass SpeechSynthesizerOptions
;
43 runtimeclass SpeechSynthesisStream
;
48 interface IRandomAccessStreamWithContentType
;
49 interface IRandomAccessStream
;
50 interface IInputStream
;
51 interface IOutputStream
;
52 interface IContentTypeProvider
;
59 interface IMediaMarker
;
65 namespace SpeechSynthesis
{
67 interface Windows.Foundation.Collections.IIterator
<Windows.Media.SpeechSynthesis.VoiceInformation
*>;
68 interface Windows.Foundation.Collections.IIterable
<Windows.Media.SpeechSynthesis.VoiceInformation
*>;
69 interface Windows.Foundation.Collections.IVectorView
<Windows.Media.SpeechSynthesis.VoiceInformation
*>;
70 interface Windows.Foundation.Collections.IVectorView
<Windows.Media.IMediaMarker
*>;
71 interface Windows.Foundation.IAsyncOperation
<Windows.Media.SpeechSynthesis.SpeechSynthesisStream
*>;
72 interface Windows.Foundation.AsyncOperationCompletedHandler
<Windows.Media.SpeechSynthesis.SpeechSynthesisStream
*>;
80 namespace SpeechSynthesis
{
81 [contract
(Windows.Foundation.UniversalApiContract
, 1.0)]
88 [contract
(Windows.Foundation.UniversalApiContract
, 1.0)]
89 [exclusiveto
(Windows.Media.SpeechSynthesis.SpeechSynthesisStream
)]
90 [uuid(83e46e93
-244c
-4622-ba0b
-6229c4d0d65d
)]
91 interface ISpeechSynthesisStream
: IInspectable
93 Windows.Storage.Streams.IRandomAccessStreamWithContentType
,
94 Windows.Storage.Streams.IRandomAccessStream
,
95 Windows.Foundation.IClosable
,
96 Windows.Storage.Streams.IInputStream
,
97 Windows.Storage.Streams.IOutputStream
,
98 Windows.Storage.Streams.IContentTypeProvider
100 [propget] HRESULT Markers
([out] [retval] Windows.Foundation.Collections.IVectorView
<Windows.Media.IMediaMarker
*>** value
);
104 contract
(Windows.Foundation.UniversalApiContract
, 1.0),
105 exclusiveto
(Windows.Media.SpeechSynthesis.SpeechSynthesizer
),
106 uuid(ce9f7c76
-97f4
-4ced
-ad68
-d51c458e45c6
)
108 interface ISpeechSynthesizer
: IInspectable
110 HRESULT SynthesizeTextToStreamAsync
([in] HSTRING text
, [out] [retval] Windows.Foundation.IAsyncOperation
<Windows.Media.SpeechSynthesis.SpeechSynthesisStream
*> **operation
);
111 HRESULT SynthesizeSsmlToStreamAsync
([in] HSTRING Ssml
, [out] [retval] Windows.Foundation.IAsyncOperation
<Windows.Media.SpeechSynthesis.SpeechSynthesisStream
*> **operation
);
112 [propput] HRESULT Voice
([in] VoiceInformation
*value
);
113 [propget] HRESULT Voice
([out] [retval] VoiceInformation
**value
);
117 contract
(Windows.Foundation.UniversalApiContract
, 1.0),
118 exclusiveto
(Windows.Media.SpeechSynthesis.SpeechSynthesizer
),
119 uuid(a7c5ecb2
-4339-4d6a
-bbf8
-c7a4f1544c2e
)
121 interface ISpeechSynthesizer2
: IInspectable
123 [propget] HRESULT Options
([out, retval] SpeechSynthesizerOptions
**value
);
127 contract
(Windows.Foundation.UniversalApiContract
, 1.0),
128 exclusiveto
(Windows.Media.SpeechSynthesis.VoiceInformation
),
129 uuid(b127d6a4
-1291-4604-aa9c
-83134083352c
)
131 interface IVoiceInformation
: IInspectable
133 [propget] HRESULT DisplayName
([out] [retval] HSTRING
* value
);
134 [propget] HRESULT Id([out] [retval] HSTRING
* value
);
135 [propget] HRESULT Language
([out] [retval] HSTRING
* value
);
136 [propget] HRESULT Description
([out] [retval] HSTRING
* value
);
137 [propget] HRESULT Gender
([out] [retval] VoiceGender
* value
);
141 contract
(Windows.Foundation.UniversalApiContract
, 1.0),
142 exclusiveto
(Windows.Media.SpeechSynthesis.SpeechSynthesizerOptions
),
143 uuid(a0e23871
-cc3d
-43c9
-91b1
-ee185324d83d
)
145 interface ISpeechSynthesizerOptions
: IInspectable
147 [propget] HRESULT IncludeWordBoundaryMetadata
([out, retval] boolean *value
);
148 [propput] HRESULT IncludeWordBoundaryMetadata
([in] boolean value
);
149 [propget] HRESULT IncludeSentenceBoundaryMetadata
([out, retval] boolean *value
);
150 [propput] HRESULT IncludeSentenceBoundaryMetadata
([in] boolean value
);
154 contract
(Windows.Foundation.UniversalApiContract
, 1.0),
155 exclusiveto
(Windows.Media.SpeechSynthesis.SpeechSynthesizer
),
156 uuid(7d526ecc
-7533-4c3f
-85be
-888c2baeebdc
)
158 interface IInstalledVoicesStatic
: IInspectable
160 [propget] HRESULT AllVoices
([out, retval] Windows.Foundation.Collections.IVectorView
<VoiceInformation
*>** value
);
161 [propget] HRESULT DefaultVoice
([out, retval] VoiceInformation
** value
);
165 contract
(Windows.Foundation.UniversalApiContract
, 1.0),
166 marshaling_behavior
(agile
)
168 runtimeclass VoiceInformation
170 [default] interface Windows.Media.SpeechSynthesis.IVoiceInformation
;
174 contract
(Windows.Foundation.UniversalApiContract
, 1.0),
175 marshaling_behavior
(agile
)
177 runtimeclass SpeechSynthesizerOptions
179 [default] interface Windows.Media.SpeechSynthesis.ISpeechSynthesizerOptions
;
182 [contract
(Windows.Foundation.UniversalApiContract
, 1.0)]
183 [marshaling_behavior
(agile
)]
184 runtimeclass SpeechSynthesisStream
186 [default] interface Windows.Media.SpeechSynthesis.ISpeechSynthesisStream
;
187 interface Windows.Storage.Streams.IRandomAccessStreamWithContentType
;
188 interface Windows.Storage.Streams.IContentTypeProvider
;
189 interface Windows.Storage.Streams.IRandomAccessStream
;
190 interface Windows.Storage.Streams.IOutputStream
;
191 interface Windows.Foundation.IClosable
;
192 interface Windows.Storage.Streams.IInputStream
;
196 activatable
(Windows.Foundation.UniversalApiContract
, 1.0),
197 contract
(Windows.Foundation.UniversalApiContract
, 1.0),
198 marshaling_behavior
(agile
),
199 static
(Windows.Media.SpeechSynthesis.IInstalledVoicesStatic
, Windows.Foundation.UniversalApiContract
, 1.0),
200 static
(Windows.Media.SpeechSynthesis.IInstalledVoicesStatic2
, Windows.Foundation.UniversalApiContract
, 5.0)
202 runtimeclass SpeechSynthesizer
204 [default] interface Windows.Media.SpeechSynthesis.ISpeechSynthesizer
;
205 interface Windows.Foundation.IClosable
;
206 [contract
(Windows.Foundation.UniversalApiContract
, 4.0)] interface Windows.Media.SpeechSynthesis.ISpeechSynthesizer2
;