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 VoiceGender VoiceGender
;
31 interface IInstalledVoicesStatic
;
32 interface IInstalledVoicesStatic2
;
33 interface ISpeechSynthesizer
;
34 interface ISpeechSynthesizer2
;
35 interface IVoiceInformation
;
36 interface ISpeechSynthesisStream
;
37 runtimeclass SpeechSynthesizer
;
38 runtimeclass VoiceInformation
;
39 runtimeclass SpeechSynthesizerOptions
;
40 runtimeclass SpeechSynthesisStream
;
44 interface Windows.Foundation.Collections.IIterable
<Windows.Media.SpeechSynthesis.VoiceInformation
*>;
45 interface Windows.Foundation.Collections.IIterator
<Windows.Media.SpeechSynthesis.VoiceInformation
*>;
46 interface Windows.Foundation.Collections.IVectorView
<Windows.Media.SpeechSynthesis.VoiceInformation
*>;
47 interface Windows.Foundation.IAsyncOperation
<Windows.Media.SpeechSynthesis.SpeechSynthesisStream
*>;
48 interface Windows.Foundation.AsyncOperationCompletedHandler
<Windows.Media.SpeechSynthesis.SpeechSynthesisStream
*>;
52 contract
(Windows.Foundation.UniversalApiContract
, 1.0)
61 contract
(Windows.Foundation.UniversalApiContract
, 1.0),
62 exclusiveto
(Windows.Media.SpeechSynthesis.SpeechSynthesisStream
),
63 uuid(83e46e93
-244c
-4622-ba0b
-6229c4d0d65d
)
65 interface ISpeechSynthesisStream
: IInspectable
67 Windows.Storage.Streams.IRandomAccessStreamWithContentType
,
68 Windows.Storage.Streams.IRandomAccessStream
,
69 Windows.Foundation.IClosable
,
70 Windows.Storage.Streams.IInputStream
,
71 Windows.Storage.Streams.IOutputStream
,
72 Windows.Storage.Streams.IContentTypeProvider
74 [propget] HRESULT Markers
([out, retval] Windows.Foundation.Collections.IVectorView
<Windows.Media.IMediaMarker
*> **value
);
78 contract
(Windows.Foundation.UniversalApiContract
, 1.0),
79 exclusiveto
(Windows.Media.SpeechSynthesis.SpeechSynthesizer
),
80 uuid(ce9f7c76
-97f4
-4ced
-ad68
-d51c458e45c6
)
82 interface ISpeechSynthesizer
: IInspectable
84 HRESULT SynthesizeTextToStreamAsync
([in] HSTRING text
, [out, retval] Windows.Foundation.IAsyncOperation
<Windows.Media.SpeechSynthesis.SpeechSynthesisStream
*> **operation
);
85 HRESULT SynthesizeSsmlToStreamAsync
([in] HSTRING Ssml
, [out, retval] Windows.Foundation.IAsyncOperation
<Windows.Media.SpeechSynthesis.SpeechSynthesisStream
*> **operation
);
86 [propput] HRESULT Voice
([in] VoiceInformation
*value
);
87 [propget] HRESULT Voice
([out, retval] VoiceInformation
**value
);
91 contract
(Windows.Foundation.UniversalApiContract
, 1.0),
92 exclusiveto
(Windows.Media.SpeechSynthesis.SpeechSynthesizer
),
93 uuid(a7c5ecb2
-4339-4d6a
-bbf8
-c7a4f1544c2e
)
95 interface ISpeechSynthesizer2
: IInspectable
97 [propget] HRESULT Options
([out, retval] SpeechSynthesizerOptions
**value
);
101 contract
(Windows.Foundation.UniversalApiContract
, 1.0),
102 exclusiveto
(Windows.Media.SpeechSynthesis.VoiceInformation
),
103 uuid(b127d6a4
-1291-4604-aa9c
-83134083352c
)
105 interface IVoiceInformation
: IInspectable
107 [propget] HRESULT DisplayName
([out, retval] HSTRING
*value
);
108 [propget] HRESULT Id([out, retval] HSTRING
*value
);
109 [propget] HRESULT Language
([out, retval] HSTRING
*value
);
110 [propget] HRESULT Description
([out, retval] HSTRING
*value
);
111 [propget] HRESULT Gender
([out, retval] VoiceGender
*value
);
115 contract
(Windows.Foundation.UniversalApiContract
, 1.0),
116 exclusiveto
(Windows.Media.SpeechSynthesis.SpeechSynthesizerOptions
),
117 uuid(a0e23871
-cc3d
-43c9
-91b1
-ee185324d83d
)
119 interface ISpeechSynthesizerOptions
: IInspectable
121 [propget] HRESULT IncludeWordBoundaryMetadata
([out, retval] boolean *value
);
122 [propput] HRESULT IncludeWordBoundaryMetadata
([in] boolean value
);
123 [propget] HRESULT IncludeSentenceBoundaryMetadata
([out, retval] boolean *value
);
124 [propput] HRESULT IncludeSentenceBoundaryMetadata
([in] boolean value
);
128 contract
(Windows.Foundation.UniversalApiContract
, 1.0),
129 exclusiveto
(Windows.Media.SpeechSynthesis.SpeechSynthesizer
),
130 uuid(7d526ecc
-7533-4c3f
-85be
-888c2baeebdc
)
132 interface IInstalledVoicesStatic
: IInspectable
134 [propget] HRESULT AllVoices
([out, retval] Windows.Foundation.Collections.IVectorView
<VoiceInformation
*> **value
);
135 [propget] HRESULT DefaultVoice
([out, retval] VoiceInformation
**value
);
139 contract
(Windows.Foundation.UniversalApiContract
, 1.0),
140 marshaling_behavior
(agile
)
142 runtimeclass VoiceInformation
144 [default] interface Windows.Media.SpeechSynthesis.IVoiceInformation
;
148 contract
(Windows.Foundation.UniversalApiContract
, 1.0),
149 marshaling_behavior
(agile
)
151 runtimeclass SpeechSynthesizerOptions
153 [default] interface Windows.Media.SpeechSynthesis.ISpeechSynthesizerOptions
;
157 contract
(Windows.Foundation.UniversalApiContract
, 1.0),
158 marshaling_behavior
(agile
)
160 runtimeclass SpeechSynthesisStream
162 [default] interface Windows.Media.SpeechSynthesis.ISpeechSynthesisStream
;
163 interface Windows.Storage.Streams.IRandomAccessStreamWithContentType
;
164 interface Windows.Storage.Streams.IContentTypeProvider
;
165 interface Windows.Storage.Streams.IRandomAccessStream
;
166 interface Windows.Storage.Streams.IOutputStream
;
167 interface Windows.Foundation.IClosable
;
168 interface Windows.Storage.Streams.IInputStream
;
172 activatable
(Windows.Foundation.UniversalApiContract
, 1.0),
173 contract
(Windows.Foundation.UniversalApiContract
, 1.0),
174 marshaling_behavior
(agile
),
175 static
(Windows.Media.SpeechSynthesis.IInstalledVoicesStatic
, Windows.Foundation.UniversalApiContract
, 1.0),
176 static
(Windows.Media.SpeechSynthesis.IInstalledVoicesStatic2
, Windows.Foundation.UniversalApiContract
, 5.0)
178 runtimeclass SpeechSynthesizer
180 [default] interface Windows.Media.SpeechSynthesis.ISpeechSynthesizer
;
181 interface Windows.Foundation.IClosable
;
182 [contract
(Windows.Foundation.UniversalApiContract
, 4.0)] interface Windows.Media.SpeechSynthesis.ISpeechSynthesizer2
;