2 * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
18 #ifndef __TIZEN_MEDIA_AUDIO_IO_DOC_H__
19 #define __TIZEN_MEDIA_AUDIO_IO_DOC_H__
23 * @file audio_io_doc.h
24 * @brief This file contains high level documentation for the Audio I/O API.
29 * @defgroup CAPI_MEDIA_AUDIO_IO_MODULE Audio I/O
30 * @ingroup CAPI_MEDIA_FRAMEWORK
34 * @ingroup CAPI_MEDIA_FRAMEWORK
35 * @addtogroup CAPI_MEDIA_AUDIO_IO_MODULE
36 * @brief The @ref CAPI_MEDIA_AUDIO_IO_MODULE API provides functions for controlling audio devices.
37 * @section CAPI_MEDIA_AUDIO_IO_MODULE_HEADER Required Header
38 * \#include <audio_io.h>
40 * @section CAPI_MEDIA_AUDIO_IO_MODULE_OVERVIEW Overview
41 * The Audio I/O API provides a set of functions to directly manage the system audio devices.
42 * It gives easy access to the hardware layer of the sound card with a professional multichannel audio interface.
43 * It should be used for activities requiring raw audio data buffers(PCM format).
45 * Programming the interface requires first obtaining a handle to the device, via the audio_in_create() or audio_out_create_new() function.
47 * The input and output devices both have an available set of queries, to find the suggested buffer size, sampling rate, channel type,
48 * and sample type. For output, there is an additional query, to get the sound type (these types are defined in the @ref CAPI_MEDIA_SOUND_MANAGER_MODULE API).
50 * Reading from input device is done by audio_in_read() with allocated buffer after audio_in_prepare().
51 * Similarly, writing to output device is done by audio_out_write() with allocated buffer after audio_out_prepare().
56 * @ingroup CAPI_MEDIA_AUDIO_IO_MODULE
57 * @defgroup CAPI_MEDIA_AUDIO_IN_MODULE Audio Input
58 * @brief The @ref CAPI_MEDIA_AUDIO_IN_MODULE API provides a set of functions to directly manage the system audio input devices.
59 * @section CAPI_MEDIA_AUDIO_IN_MODULE_HEADER Required Header
60 * \#include <audio_io.h>
62 * @section CAPI_MEDIA_AUDIO_IN_MODULE_OVERVIEW Overview
63 * The Audio Input API provides a set of functions to record audio data (PCM format) from audio devices.
65 * @section CAPI_MEDIA_AUDIO_IN_MODULE_FEATURE Related Features
66 * This API is related with the following features:\n
67 * - %http://tizen.org/feature/microphone\n
69 * It is recommended to design feature related codes in your application for reliability.\n
71 * You can check if a device supports the related features for this API by using @ref CAPI_SYSTEM_SYSTEM_INFO_MODULE, thereby controlling the procedure of your application.\n
73 * To ensure your application is only running on the device with specific features, please define the features in your manifest file using the manifest editor in the SDK.\n
75 * More details on featuring your application can be found from <a href="https://docs.tizen.org/application/tizen-studio/native-tools/manifest-text-editor#feature-element"><b>Feature Element</b>.</a>
80 * @ingroup CAPI_MEDIA_AUDIO_IO_MODULE
81 * @defgroup CAPI_MEDIA_AUDIO_OUT_MODULE Audio Output
82 * @brief The @ref CAPI_MEDIA_AUDIO_OUT_MODULE API provides a set of functions to directly manage the system audio output devices.
83 * @section CAPI_MEDIA_AUDIO_OUT_MODULE_HEADER Required Header
84 * \#include <audio_io.h>
86 * @section CAPI_MEDIA_AUDIO_OUT_MODULE_OVERVIEW Overview
87 * The Audio Output API provides a set of functions to play recorded audio data from Audio Input.
91 #endif /* __TIZEN_MEDIA_AUDIO_IO_DOC_H__ */