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 SpeechSynthesisStream
;
47 interface IRandomAccessStreamWithContentType
;
48 interface IRandomAccessStream
;
49 interface IInputStream
;
50 interface IOutputStream
;
51 interface IContentTypeProvider
;
58 interface IMediaMarker
;
64 namespace SpeechSynthesis
{
66 interface Windows.Foundation.Collections.IIterator
<Windows.Media.SpeechSynthesis.VoiceInformation
*>;
67 interface Windows.Foundation.Collections.IIterable
<Windows.Media.SpeechSynthesis.VoiceInformation
*>;
68 interface Windows.Foundation.Collections.IVectorView
<Windows.Media.SpeechSynthesis.VoiceInformation
*>;
69 interface Windows.Foundation.Collections.IVectorView
<Windows.Media.IMediaMarker
*>;
70 interface Windows.Foundation.IAsyncOperation
<Windows.Media.SpeechSynthesis.SpeechSynthesisStream
*>;
71 interface Windows.Foundation.AsyncOperationCompletedHandler
<Windows.Media.SpeechSynthesis.SpeechSynthesisStream
*>;
79 namespace SpeechSynthesis
{
80 [contract
(Windows.Foundation.UniversalApiContract
, 1.0)]
87 [contract
(Windows.Foundation.UniversalApiContract
, 1.0)]
88 [exclusiveto
(Windows.Media.SpeechSynthesis.SpeechSynthesisStream
)]
89 [uuid(83e46e93
-244c
-4622-ba0b
-6229c4d0d65d
)]
90 interface ISpeechSynthesisStream
: IInspectable
92 Windows.Storage.Streams.IRandomAccessStreamWithContentType
,
93 Windows.Storage.Streams.IRandomAccessStream
,
94 Windows.Foundation.IClosable
,
95 Windows.Storage.Streams.IInputStream
,
96 Windows.Storage.Streams.IOutputStream
,
97 Windows.Storage.Streams.IContentTypeProvider
99 [propget] HRESULT Markers
([out] [retval] Windows.Foundation.Collections.IVectorView
<Windows.Media.IMediaMarker
*>** value
);
103 contract
(Windows.Foundation.UniversalApiContract
, 1.0),
104 exclusiveto
(Windows.Media.SpeechSynthesis.SpeechSynthesizer
),
105 uuid(ce9f7c76
-97f4
-4ced
-ad68
-d51c458e45c6
)
107 interface ISpeechSynthesizer
: IInspectable
109 HRESULT SynthesizeTextToStreamAsync
([in] HSTRING text
, [out] [retval] Windows.Foundation.IAsyncOperation
<Windows.Media.SpeechSynthesis.SpeechSynthesisStream
*> **operation
);
110 HRESULT SynthesizeSsmlToStreamAsync
([in] HSTRING Ssml
, [out] [retval] Windows.Foundation.IAsyncOperation
<Windows.Media.SpeechSynthesis.SpeechSynthesisStream
*> **operation
);
111 [propput] HRESULT Voice
([in] VoiceInformation
*value
);
112 [propget] HRESULT Voice
([out] [retval] VoiceInformation
**value
);
116 contract
(Windows.Foundation.UniversalApiContract
, 1.0),
117 exclusiveto
(Windows.Media.SpeechSynthesis.VoiceInformation
),
118 uuid(b127d6a4
-1291-4604-aa9c
-83134083352c
)
120 interface IVoiceInformation
: IInspectable
122 [propget] HRESULT DisplayName
([out] [retval] HSTRING
* value
);
123 [propget] HRESULT Id([out] [retval] HSTRING
* value
);
124 [propget] HRESULT Language
([out] [retval] HSTRING
* value
);
125 [propget] HRESULT Description
([out] [retval] HSTRING
* value
);
126 [propget] HRESULT Gender
([out] [retval] VoiceGender
* value
);
130 contract
(Windows.Foundation.UniversalApiContract
, 1.0),
131 exclusiveto
(Windows.Media.SpeechSynthesis.SpeechSynthesizer
),
132 uuid(7d526ecc
-7533-4c3f
-85be
-888c2baeebdc
)
134 interface IInstalledVoicesStatic
: IInspectable
136 [propget] HRESULT AllVoices
([out, retval] Windows.Foundation.Collections.IVectorView
<VoiceInformation
*>** value
);
137 [propget] HRESULT DefaultVoice
([out, retval] VoiceInformation
** value
);
141 contract
(Windows.Foundation.UniversalApiContract
, 1.0),
142 marshaling_behavior
(agile
)
144 runtimeclass VoiceInformation
146 [default] interface Windows.Media.SpeechSynthesis.IVoiceInformation
;
150 [contract
(Windows.Foundation.UniversalApiContract
, 1.0)]
151 [marshaling_behavior
(agile
)]
152 runtimeclass SpeechSynthesisStream
154 [default] interface Windows.Media.SpeechSynthesis.ISpeechSynthesisStream
;
155 interface Windows.Storage.Streams.IRandomAccessStreamWithContentType
;
156 interface Windows.Storage.Streams.IContentTypeProvider
;
157 interface Windows.Storage.Streams.IRandomAccessStream
;
158 interface Windows.Storage.Streams.IOutputStream
;
159 interface Windows.Foundation.IClosable
;
160 interface Windows.Storage.Streams.IInputStream
;
164 activatable
(Windows.Foundation.UniversalApiContract
, 1.0),
165 contract
(Windows.Foundation.UniversalApiContract
, 1.0),
166 marshaling_behavior
(agile
),
167 static
(Windows.Media.SpeechSynthesis.IInstalledVoicesStatic
, Windows.Foundation.UniversalApiContract
, 1.0),
168 static
(Windows.Media.SpeechSynthesis.IInstalledVoicesStatic2
, Windows.Foundation.UniversalApiContract
, 5.0)
170 runtimeclass SpeechSynthesizer
172 [default] interface Windows.Media.SpeechSynthesis.ISpeechSynthesizer
;
173 interface Windows.Foundation.IClosable
;
174 [contract
(Windows.Foundation.UniversalApiContract
, 4.0)] interface Windows.Media.SpeechSynthesis.ISpeechSynthesizer2
;