cri_le_atom_android.h
説明を見る。
    1 /****************************************************************************
    2  *
    3  * CRI Middleware SDK
    4  *
    5  * Copyright (c) 2011-2015 CRI Middleware Co., Ltd.
    6  *
    7  * Library  : CRI Atom
    8  * Module   : Library User's Header for Android
    9  * File     : cri_le_atom_android.h
   10  *
   11  ****************************************************************************/
   16 /* 多重定義防止                   */
   17 /* Prevention of redefinition   */
   18 #ifndef CRI_INCL_CRI_ATOM_ANDROID_H
   19 #define CRI_INCL_CRI_ATOM_ANDROID_H
   20 
   21 /***************************************************************************
   22  *      インクルードファイル
   23  *      Include files
   24  ***************************************************************************/
   25 #include <jni.h>
   26 #include <cri_le_xpt.h>
   27 #include <cri_le_error.h>
   28 #include <cri_le_atom.h>
   29 #include <cri_le_atom_ex.h>
   30 #include <cri_le_atom_asr.h>
   31 
   32 
   33 /***************************************************************************
   34  *      定数マクロ
   35  *      Macro Constants
   36  ***************************************************************************/
   42 typedef enum {
   43     CRIATOMANDROID_STREAM_TYPE_MUSIC,
   44     CRIATOMANDROID_STREAM_TYPE_ALARM,
   45     CRIATOMANDROID_STREAM_TYPE_DTMF ,
   46     CRIATOMANDROID_STREAM_TYPE_NOTIFICATION,
   47     CRIATOMANDROID_STREAM_TYPE_RING,
   48     CRIATOMANDROID_STREAM_TYPE_SYSTEM,
   49     CRIATOMANDROID_STREAM_TYPE_VOICE_CALL,
   50     CRIATOMANDROID_STREAM_TYPE_ENUM_SIZE_IS_4BYTES = 0x7FFFFFFF
   51 } CriAtomAndroidStreamType;
   52 
   53 /*==========================================================================
   54  *      CRI Atom API
   55  *=========================================================================*/
   69 #define criAtom_SetDefaultConfig_ANDROID(p_config)          \
   70 {                                                           \
   71     (p_config)->initialize_hca_mx = CRI_TRUE;               \
   72     criAtom_SetDefaultConfig(&(p_config)->atom);            \
   73     criAtomHcaMx_SetDefaultConfig(&(p_config)->hca_mx);     \
   74 }
   75 
   76 /*==========================================================================
   77  *      CRI AtomEx API
   78  *=========================================================================*/
   88 #define criAtomEx_SetDefaultConfig_ANDROID(p_config)        \
   89 {                                                           \
   90     (p_config)->initialize_hca_mx = CRI_TRUE;               \
   91     criAtomEx_SetDefaultConfig(&(p_config)->atom_ex);       \
   92     criAtomExAsr_SetDefaultConfig(&(p_config)->asr);        \
   93     criAtomExHcaMx_SetDefaultConfig(&(p_config)->hca_mx);   \
   94 }
   95 
   96 /***************************************************************************
   97  *      処理マクロ
   98  *      Macro Functions
   99  ***************************************************************************/
  100 
  101 /***************************************************************************
  102  *      データ型宣言
  103  *      Data Type Declarations
  104  ***************************************************************************/
  105 /*==========================================================================
  106  *      CRI Atom API
  107  *=========================================================================*/
  119 typedef struct {
  120     CriBool                 initialize_hca_mx;  
  121     CriAtomConfig           atom;               
  122     CriAtomAsrConfig        asr;                
  123     CriAtomHcaMxConfig      hca_mx;             
  124 } CriAtomConfig_ANDROID;
  125 
  126 /*==========================================================================
  127  *      CRI AtomEx API
  128  *=========================================================================*/
  136 typedef struct {
  137     CriBool                 initialize_hca_mx;  
  138     CriAtomExConfig         atom_ex;            
  139     CriAtomExAsrConfig      asr;                
  140     CriAtomExHcaMxConfig    hca_mx;             
  141 } CriAtomExConfig_ANDROID;
  142 
  148 typedef enum CriAtomExLatencyEstimatorStatus_Tag {
  149     CRIATOM_LATENCYESTIMATOR_STATUS_STOP,           /* 初期状態/停止状態    (実行中スレッドなし) */
  150     CRIATOM_LATENCYESTIMATOR_STATUS_PROCESSING,     /* 遅延時間を推測中     (実行中スレッドあり) */
  151     CRIATOM_LATENCYESTIMATOR_STATUS_DONE,           /* 遅延時間の推測完了  (実行中スレッドなし) */
  152     CRIATOM_LATENCYESTIMATOR_STATUS_ERROR,          /* エラー                (実行中スレッドなし) */
  153     CRIATOM_LATENCYESTIMATOR_STATUS_ENUM_SIZE_IS_4BYTES = 0x7FFFFFFF
  154 } CriAtomLatencyEstimatorStatus;
  155 
  162 typedef struct CriAtomExLatencyEstimatorInfo_Tag {
  163     CriAtomLatencyEstimatorStatus   status;
  164     CriUint32                       latency_msec; // 異常値は0
  165 } CriAtomLatencyEstimatorInfo;
  166 
  167 /***************************************************************************
  168  *      変数宣言
  169  *      Prototype Variables
  170  ***************************************************************************/
  171 
  172 /***************************************************************************
  173  *      関数宣言
  174  *      Prototype Functions
  175  ***************************************************************************/
  176 #ifdef __cplusplus
  177 extern "C" {
  178 #endif
  179 
  180 /*==========================================================================
  181  *      CRI Atom API
  182  *=========================================================================*/
  203 CriSint32 CRIAPI criAtom_CalculateWorkSize_ANDROID(const CriAtomConfig_ANDROID *config);
  204 
  249 void CRIAPI criAtom_Initialize_ANDROID(
  250     const CriAtomConfig_ANDROID *config, void *work, CriSint32 work_size);
  251 
  272 void CRIAPI criAtom_Finalize_ANDROID(void);
  273 
  297 void CRIAPI criAtom_SetThreadPriority_ANDROID(int prio);
  298 
  317 int CRIAPI criAtom_GetThreadPriority_ANDROID(void);
  318 
  334 void CRIAPI criAtom_SetJavaVM_ANDROID(JavaVM* vm);
  335 
  346 void CRIAPI criAtom_SetOutputStreamType(CriAtomAndroidStreamType type);
  347 
  365 void CRIAPI criAtom_SetSoundStartBufferingTime_ANDROID(CriSint32 time);
  366 
  386 void CRIAPI criAtom_SetSoundBufferingTime_ANDROID(CriSint32 time);
  387 
  405 void CRIAPI criAtom_SetSoundBufferSize_ANDROID(CriSint32 num_samples);
  406 
  427 CriBool CRIAPI criAtom_ApplyHardwareProperties_ANDROID(JavaVM* vm, jobject context);
  428 
  429 /*==========================================================================
  430  *      CRI AtomEx API
  431  *=========================================================================*/
  452 CriSint32 CRIAPI criAtomEx_CalculateWorkSize_ANDROID(const CriAtomExConfig_ANDROID *config);
  453 
  494 void CRIAPI criAtomEx_Initialize_ANDROID(
  495     const CriAtomExConfig_ANDROID *config, void *work, CriSint32 work_size);
  496 
  513 void CRIAPI criAtomEx_Finalize_ANDROID(void);
  514 
  525 void CRIAPI criAtomEx_StartSound_ANDROID(void);
  526 
  537 void CRIAPI criAtomEx_StopSound_ANDROID(void);
  538 
  539 
  540 
  564 #define criAtomEx_SetThreadPriority_ANDROID(prio)   \
  565     criAtom_SetThreadPriority_ANDROID(prio)
  566 
  585 #define criAtomEx_GetThreadPriority_ANDROID()   \
  586     criAtom_GetThreadPriority_ANDROID()
  587 
  603 #define criAtomEx_SetJavaVM_ANDROID(vm)     \
  604     criAtom_SetJavaVM_ANDROID(vm)
  605 
  616 #define criAtomEx_SetOutputStreamType(type)     \
  617     criAtom_SetOutputStreamType(type)
  618 
  640 void CRIAPI criAtomLatencyEstimator_Initialize_ANDROID();
  641 
  661 void CRIAPI criAtomLatencyEstimator_Finalize_ANDROID();
  662 
  681 CriAtomLatencyEstimatorInfo CRIAPI criAtomLatencyEstimator_GetCurrentInfo_ANDROID();
  682 
  693 CriBool CRIAPI criAtomLatencyEstimator_IsInitialized_ANDROID();
  694 
  695 #ifdef __cplusplus
  696 }
  697 #endif
  698 
  699 #endif  /* CRI_INCL_CRI_ATOM_ANDROID_H */
  700 
  701 /* --- end of file --- */-stdin

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