cri_le_atom_wasapi.h
説明を見る。
    1 /****************************************************************************
    2  *
    3  * CRI Middleware SDK
    4  *
    5  * Copyright (c) 2013 CRI Middleware Co., Ltd.
    6  *
    7  * Library  : CRI Atom
    8  * Module   : Library User's Header for WASAPI
    9  * File     : cri_le_atom_wasapi.h
   10  *
   11  ****************************************************************************/
   16 /* 多重定義防止                   */
   17 /* Prevention of redefinition   */
   18 #ifndef CRI_INCL_CRI_ATOM_WASAPI_H
   19 #define CRI_INCL_CRI_ATOM_WASAPI_H
   20 
   21 /***************************************************************************
   22  *      インクルードファイル
   23  *      Include files
   24  ***************************************************************************/
   25 #include <Windows.h>
   26 #include <sdkddkver.h>
   27 #include <Audioclient.h>
   28 #include <AudioSessionTypes.h>
   29 #include <mmdeviceapi.h>
   30 #include <cri_le_xpt.h>
   31 #include <cri_le_atom.h>
   32 #include <cri_le_atom_ex.h>
   33 #include <cri_le_atom_asr.h>
   34 
   35 /***************************************************************************
   36  *      定数マクロ
   37  *      Macro Constants
   38  ***************************************************************************/
   39 
   40 /***************************************************************************
   41  *      処理マクロ
   42  *      Macro Functions
   43  ***************************************************************************/
   44 /*==========================================================================
   45  *      CRI Atom API
   46  *=========================================================================*/
   60 #define criAtom_SetDefaultConfig_WASAPI(p_config)           \
   61 {                                                           \
   62     criAtom_SetDefaultConfig(&(p_config)->atom);            \
   63     criAtomAsr_SetDefaultConfig(&(p_config)->asr);          \
   64     criAtomHcaMx_SetDefaultConfig(&(p_config)->hca_mx);     \
   65 }
   66 
   67 /*==========================================================================
   68  *      CRI AtomEx API
   69  *=========================================================================*/
   79 #define criAtomEx_SetDefaultConfig_WASAPI(p_config)         \
   80 {                                                           \
   81     criAtomEx_SetDefaultConfig(&(p_config)->atom_ex);       \
   82     criAtomExAsr_SetDefaultConfig(&(p_config)->asr);        \
   83     criAtomExHcaMx_SetDefaultConfig(&(p_config)->hca_mx);   \
   84 }
   85 
   86 /***************************************************************************
   87  *      データ型宣言
   88  *      Data Type Declarations
   89  ***************************************************************************/
   90 /*==========================================================================
   91  *      CRI Atom API
   92  *=========================================================================*/
  104 typedef struct CriAtomConfigTag_WASAPI {
  105     CriAtomConfig           atom;       
  106     CriAtomAsrConfig        asr;        
  107     CriAtomHcaMxConfig      hca_mx;     
  108 } CriAtomConfig_WASAPI;
  109 
  123 typedef void (CRIAPI *CriAtomAudioEndpointCbFunc_WASAPI)(void *object, IMMDevice *device);
  124 
  135 typedef void (CRIAPI *CriAtomDeviceUpdateCbFunc_WASAPI)(void *object);
  136 
  137 /*==========================================================================
  138  *      CRI AtomEx API
  139  *=========================================================================*/
  147 typedef struct CriAtomExConfigTag_WASAPI {
  148     CriAtomExConfig         atom_ex;    
  149     CriAtomExAsrConfig      asr;        
  150     CriAtomExHcaMxConfig    hca_mx;     
  151 } CriAtomExConfig_WASAPI;
  152 
  153 /***************************************************************************
  154  *      変数宣言
  155  *      Prototype Variables
  156  ***************************************************************************/
  157 
  158 /***************************************************************************
  159  *      関数宣言
  160  *      Prototype Functions
  161  ***************************************************************************/
  162 #ifdef __cplusplus
  163 extern "C" {
  164 #endif
  165 
  166 /*==========================================================================
  167  *      CRI Atom API
  168  *=========================================================================*/
  189 CriSint32 CRIAPI criAtom_CalculateWorkSize_WASAPI(const CriAtomConfig_WASAPI *config);
  190 
  235 void CRIAPI criAtom_Initialize_WASAPI(
  236     const CriAtomConfig_WASAPI *config, void *work, CriSint32 work_size);
  237 
  258 void CRIAPI criAtom_Finalize_WASAPI(void);
  259 
  277 CriBool CRIAPI criAtom_GetAudioClientMixFormat_WASAPI(WAVEFORMATEXTENSIBLE *format);
  278 
  297 CriBool CRIAPI criAtom_GetAudioClientIsFormatSupported_WASAPI(const WAVEFORMATEX *format);
  298 
  317 void CRIAPI criAtom_SetAudioClientShareMode_WASAPI(AUDCLNT_SHAREMODE mode);
  318 
  335 void CRIAPI criAtom_SetAudioClientFormat_WASAPI(const WAVEFORMATEX *format);
  336 
  365 void CRIAPI criAtom_SetAudioClientBufferDuration_WASAPI(REFERENCE_TIME ref_time);
  366 
  379 IAudioClient * CRIAPI criAtom_GetAudioClient_WASAPI(void);
  380 
  393 CriBool CRIAPI criAtom_IsDeviceInvalidated_WASAPI(void);
  394 
  423 void CRIAPI criAtom_SetDeviceId_WASAPI(CriAtomSoundRendererType type, LPCWSTR device_id);
  424 
  449 CriSint32 CRIAPI criAtom_EnumAudioEndpoints_WASAPI(CriAtomAudioEndpointCbFunc_WASAPI callback, void *object);
  450 
  465 void CRIAPI criAtom_SetDeviceUpdateCallback_WASAPI(CriAtomDeviceUpdateCbFunc_WASAPI callback, void *object);
  466 
  467 /*==========================================================================
  468  *      CRI AtomEx API
  469  *=========================================================================*/
  490 CriSint32 CRIAPI criAtomEx_CalculateWorkSize_WASAPI(const CriAtomExConfig_WASAPI *config);
  491 
  532 void CRIAPI criAtomEx_Initialize_WASAPI(
  533     const CriAtomExConfig_WASAPI *config, void *work, CriSint32 work_size);
  534 
  551 void CRIAPI criAtomEx_Finalize_WASAPI(void);
  552 
  553 #ifdef __cplusplus
  554 }
  555 #endif
  556 
  557 #endif  /* CRI_INCL_CRI_ATOM_WASAPI_H */
  558 
  559 /* --- end of file --- */-stdin

CRI Middleware logo Copyright (c) 2012-2018 CRI Middleware Co., Ltd. CRI ADX2 LE マニュアル (for Cocos2d-x) SDKVer.2.10版