Release 4.0.0-preview1-00051
[platform/core/csapi/tizenfx.git] / src / Tizen.Multimedia / AudioManager / AudioManagerEnumerations.cs
1  /*
2  * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
3  *
4  * Licensed under the Apache License, Version 2.0 (the License);
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an AS IS BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 using System;
18 namespace Tizen.Multimedia
19 {
20     /// <summary>
21     /// Enumeration for audio device options.
22     /// </summary>
23     public enum AudioDeviceOptions
24     {
25         /// <summary>
26         /// Mask for input devices
27         /// </summary>
28         Input = 0x0001,
29         /// <summary>
30         /// Mask for output devices
31         /// </summary>
32         Output = 0x0002,
33         /// <summary>
34         /// Mask for input/output devices (both directions are available)
35         /// </summary>
36         InputAndOutput = 0x0004,
37         /// <summary>
38         /// Mask for built-in devices
39         /// </summary>
40         Internal = 0x00010,
41         /// <summary>
42         /// Mask for external devices
43         /// </summary>
44         External = 0x0020,
45         /// <summary>
46         /// Mask for deactivated devices
47         /// </summary>
48         Deactivated = 0x1000,
49         /// <summary>
50         /// Mask for activated devices
51         /// </summary>
52         Activated = 0x2000,
53         /// <summary>
54         /// Mask for all devices
55         /// </summary>
56         All = 0xFFFF
57     }
58
59     /// <summary>
60     /// Enumeration for audio device type.
61     /// </summary>
62     public enum AudioDeviceType
63     {
64         /// <summary>
65         /// Built-in speaker
66         /// </summary>
67         BuiltinSpeaker,
68         /// <summary>
69         /// Built-in receiver
70         /// </summary>
71         BuiltinReceiver,
72         /// <summary>
73         /// Built-in mic
74         /// </summary>
75         BuiltinMic,
76         /// <summary>
77         /// Audio jack that can be connected to wired accessory such as headphones and headsets
78         /// </summary>
79         AudioJack,
80         /// <summary>
81         /// Bluetooth Media (A2DP)
82         /// </summary>
83         BluetoothMedia,
84         /// <summary>
85         /// HDMI
86         /// </summary>
87         Hdmi,
88         /// <summary>
89         /// Device for forwarding
90         /// </summary>
91         Forwarding,
92         /// <summary>
93         /// USB Audio
94         /// </summary>
95         UsbAudio,
96         /// <summary>
97         /// Bluetooth Voice (SCO)
98         /// </summary>
99         BluetoothVoice
100     }
101
102     /// <summary>
103     /// Enumeration for audio device direction.
104     /// </summary>
105     public enum AudioDeviceIoDirection
106     {
107         /// <summary>
108         /// Input device
109         /// </summary>
110         Input,
111         /// <summary>
112         /// Output device
113         /// </summary>
114         Output,
115         /// <summary>
116         /// Input/output device (both directions are available)
117         /// </summary>
118         InputAndOutput
119     }
120
121     /// <summary>
122     /// Enumeration for audio device state.
123     /// </summary>
124     public enum AudioDeviceState
125     {
126         /// <summary>
127         /// Deactivated state
128         /// </summary>
129         Deactivated,
130         /// <summary>
131         /// Activated state
132         /// </summary>
133         Activated
134     }
135
136     /// <summary>
137     /// Enumeration for audio volume type.
138     /// </summary>
139     public enum AudioVolumeType
140     {
141         /// <summary>
142         /// Volume type for system
143         /// </summary>
144         System,
145         /// <summary>
146         /// Volume type for notification
147         /// </summary>
148         Notification,
149         /// <summary>
150         /// Volume type for alarm
151         /// </summary>
152         Alarm,
153         /// <summary>
154         /// Volume type for ringtone
155         /// </summary>
156         Ringtone,
157         /// <summary>
158         /// Volume type for media
159         /// </summary>
160         Media,
161         /// <summary>
162         /// Volume type for call
163         /// </summary>
164         Call,
165         /// <summary>
166         /// Volume type for voip
167         /// </summary>
168         Voip,
169         /// <summary>
170         /// Volume type for voice
171         /// </summary>
172         Voice,
173         /// <summary>
174         /// Volume type None
175         /// </summary>
176         None
177     }
178
179     /// <summary>
180     /// Enumeration for audio stream type.
181     /// </summary>
182     public enum AudioStreamType
183     {
184         /// <summary>
185         /// Audio stream type for media
186         /// </summary>
187         Media,
188         /// <summary>
189         /// Audio stream type for system
190         /// </summary>
191         System,
192         /// <summary>
193         /// Audio stream type for alarm
194         /// </summary>
195         Alarm,
196         /// <summary>
197         /// Audio stream type for notification
198         /// </summary>
199         Notification,
200         /// <summary>
201         /// Audio stream type for emergency
202         /// </summary>
203         Emergency,
204         /// <summary>
205         /// Audio stream type for voice information
206         /// </summary>
207         VoiceInformation,
208         /// <summary>
209         /// Audio stream type for voice recognition
210         /// </summary>
211         VoiceRecognition,
212         /// <summary>
213         /// Audio stream type for ringtone for VoIP
214         /// </summary>
215         RingtoneVoip,
216         /// <summary>
217         /// Audio stream type for VoIP
218         /// </summary>
219         Voip,
220         /// <summary>
221         /// Audio stream type for media only for external devices
222         /// </summary>
223         MediaExternalOnly
224     }
225
226     /// <summary>
227     /// Enumeration for change reason of audio stream focus state.
228     /// </summary>
229     public enum AudioStreamFocusChangedReason
230     {
231         /// <summary>
232         /// Changed by the stream type for media
233         /// </summary>
234         Media,
235         /// <summary>
236         /// Changed by the stream type for system
237         /// </summary>
238         System,
239         /// <summary>
240         /// Changed by the stream type for alarm
241         /// </summary>
242         Alarm,
243         /// <summary>
244         /// Changed by the stream type for notification
245         /// </summary>
246         Notification,
247         /// <summary>
248         /// Changed by the stream type for emergency
249         /// </summary>
250         Emergency,
251         /// <summary>
252         /// Changed by the stream type for voice information
253         /// </summary>
254         VoiceInformation,
255         /// <summary>
256         /// Changed by the stream type for voice recognition
257         /// </summary>
258         VoiceRecognition,
259         /// <summary>
260         /// Changed by the stream type for ringtone
261         /// </summary>
262         RingtoneVoip,
263         /// <summary>
264         /// Changed by the stream type for VoIP
265         /// </summary>
266         Voip,
267         /// <summary>
268         /// Changed by the stream type for voice-call or video-call
269         /// </summary>
270         Call,
271         /// <summary>
272         /// Changed by the stream type for media only for external devices
273         /// </summary>
274         MediaExternalOnly
275     }
276
277     /// <summary>
278     /// Enumeration for audio stream focus options.
279     /// </summary>
280     public enum AudioStreamFocusOptions
281     {
282         /// <summary>
283         /// Mask for playback focus
284         /// </summary>
285         Playback = 0x0001,
286         /// <summary>
287         /// Mask for recording focus
288         /// </summary>
289         Recording = 0x0002
290     }
291
292     /// <summary>
293     /// Enumeration for audio stream focus state.
294     /// </summary>
295     public enum AudioStreamFocusState
296     {
297         /// <summary>
298         /// Focus state for release
299         /// </summary>
300         Released,
301         /// <summary>
302         ///Focus state for acquisition
303         /// </summary>
304         Acquired
305     }
306
307     /// <summary>
308     /// Enumeration for audio stream behavior
309     /// </summary>
310     [Flags]
311     public enum AudioStreamBehavior
312     {
313         /// <summary>
314         /// Audio Stream Behavior NONE
315         /// </summary>
316         None = 0x0000,
317         /// <summary>
318         /// Audio Stream Behavior No Resume
319         /// </summary>
320         NoResume = 0x0001,
321         /// <summary>
322         /// Audio Stream Behavior Fading
323         /// </summary>
324         Fading = 0x0002
325     }
326 }