/************************************************************************ | |
* °æÈ¨ËùÓÐ (C)2007,ÖÐÐËͨѶ¹É·ÝÓÐÏÞ¹«Ë¾¡£ | |
* Ä£¿éÃû £º PCMÊý¾ÝÒôƵ²¥·ÅÄ£¿é | |
* ÎļþÃû³Æ£º Zte_pcmdriver.h | |
* Îļþ±êʶ£º | |
* ÄÚÈÝÕªÒª£º Ö÷Òª¶¨ÒåPCMÊý¾ÝÒôƵ²¥·ÅÄ£¿éµÄºê¶¨Òå¡¢³£Á¿¡¢È«¾Ö±äÁ¿ÒÔ¼°º¯ÊýµÄÉùÃ÷ | |
* ´Ë½Ó¿ÚÖ÷ÒªÊÇÓÃÓڹ̶¨Ì¨ÓïÒô²¥±¨ | |
* | |
* ÐÞ¸ÄÈÕÆÚ °æ±¾ºÅ Ð޸ıê¼Ç ÐÞ¸ÄÈË ÐÞ¸ÄÄÚÈÝ | |
* ---------------------------------------------------------------------- | |
* 2010/01/13 1.0 Âíΰ ´´½¨ | |
************************************************************************/ | |
#ifndef ZTE_PCMDRIVER_H | |
#define ZTE_PCMDRIVER_H | |
#ifdef __cplusplus | |
extern "C" | |
{ | |
#endif | |
/************************************************************************** | |
* Í·Îļþ°üº¬ * | |
**************************************************************************/ | |
/************************************************************************** | |
* ³£Á¿ * | |
**************************************************************************/ | |
typedef enum | |
{ | |
PCM_MONO_CHANNEL, | |
PCM_DUAL_CHANNEL | |
}DD_PCM_CHANNEL; | |
typedef enum | |
{ | |
PCM_VOL_LEV_0, | |
PCM_VOL_LEV_1, | |
PCM_VOL_LEV_2, | |
PCM_VOL_LEV_3, | |
PCM_VOL_LEV_4, | |
PCM_VOL_LEV_5 | |
}DD_PCM_VOL_LEVEL; | |
typedef enum | |
{ | |
DD_PCM_OUTPUT_RECEIVER = 1, /* ÌýͲ */ | |
DD_PCM_OUTPUT_SPEAKER, /* ÑïÉùÆ÷ */ | |
DD_PCM_OUTPUT_HEADPHONE, /* ¶ú»ú */ | |
DD_PCM_OUTPUT_SPEAKER_HEADPHONE, /* ÑïÉùÆ÷ºÍ»°Í² */ | |
DD_PCM_OUTPUT_BLUETOOTH /* À¶ÑÀ */ | |
}DD_PCM_CHANNEL_OUTPUT; | |
typedef enum | |
{ | |
DD_PCMRATE_8_KHZ = 0, | |
DD_PCMRATE_11_KHZ, | |
DD_PCMRATE_16_KHZ, | |
DD_PCMRATE_44_1_KHZ, | |
DD_PCMRATE_UNKNOW | |
}DD_PCM_SAMPLERATE; | |
/************************************************************************** | |
* ºê¶¨Òå * | |
**************************************************************************/ | |
/************************************************************************** | |
* Êý¾ÝÀàÐÍ * | |
**************************************************************************/ | |
typedef struct PCM_PLAY_PARAM_ | |
{ | |
DD_PCM_CHANNEL eChannel; | |
DD_PCM_VOL_LEVEL eVol; | |
DD_PCM_CHANNEL_OUTPUT eChannelOutput; | |
DD_PCM_SAMPLERATE eSampleRate; | |
}PCM_PLAY_PARAM; | |
/************************************************************************** | |
* È«¾Ö±äÁ¿ÉùÃ÷ * | |
**************************************************************************/ | |
/************************************************************************** | |
* È«¾Öº¯ÊýÔÐÍ * | |
**************************************************************************/ | |
/** | |
* º¯ÊýÃû³Æ£º PCM_Audio_Init | |
* ¹¦ÄÜÃèÊö£º PCMÒôƵģ¿é³õʼ»¯ | |
* ²ÎÊý˵Ã÷£º ÎÞ | |
* ·µ »Ø Öµ£º ´ò¿ªÉ豸³É¹¦·µ»Ø0;·ñÔò·µ»Ø-1¡£ | |
* ÆäËü˵Ã÷£º | |
*/ | |
SINT32 PCM_Audio_Init(void); | |
/** | |
* º¯ÊýÃû³Æ£º PCM_Audio_Release | |
* ¹¦ÄÜÃèÊö£º ÊÍ·ÅPCMÒôƵģ¿é | |
* ²ÎÊý˵Ã÷£º ÎÞ | |
* ·µ »Ø Öµ£º ÊÍ·ÅÉ豸³É¹¦·µ»Ø0;·ñÔò·µ»Ø-1¡£ | |
* ÆäËü˵Ã÷£º | |
*/ | |
SINT32 PCM_Audio_Release(void); | |
/** | |
* º¯ÊýÃû³Æ£º PCM_Audio_Open_Buffer | |
* ¹¦ÄÜÃèÊö£º ´ò¿ªPCMÊý¾Ýbuffer | |
* ²ÎÊý˵Ã÷£º ÎÞ | |
* ·µ »Ø Öµ£º ³É¹¦·µ»Ø0;·ñÔò·µ»Ø-1¡£ | |
* ÆäËü˵Ã÷£º | |
*/ | |
SINT32 PCM_Audio_Open_Buffer(PCM_PLAY_PARAM tPcmPlayParam, VOID *pPcmBuffer, UINT32 uiBufSize); | |
/** | |
* º¯ÊýÃû³Æ£º PCM_Audio_Play | |
* ¹¦ÄÜÃèÊö£º PCMÊý¾Ý¿ªÊ¼²¥·Å | |
* ²ÎÊý˵Ã÷£º ÎÞ | |
* ·µ »Ø Öµ£º ³É¹¦·µ»Ø0;·ñÔò·µ»Ø-1¡£ | |
* ÆäËü˵Ã÷£º Óë³õʼ»¯º¯Êý³É¶ÔʹÓà | |
*/ | |
SINT32 PCM_Audio_Play(UINT32 uiOffset, UINT32 uiRepeatCount); | |
/** | |
* º¯ÊýÃû³Æ£º PCM_Audio_Data_Input | |
* ¹¦ÄÜÃèÊö£º PCMÊý¾ÝÊäÈë | |
* ²ÎÊý˵Ã÷£º ÎÞ | |
* ·µ »Ø Öµ£º ³É¹¦·µ»Ø0;·ñÔò·µ»Ø-1¡£ | |
* ÆäËü˵Ã÷£º Óë³õʼ»¯º¯Êý³É¶ÔʹÓà | |
*/ | |
SINT32 PCM_Audio_Data_Input(VOID *pDataBuf, UINT32 uiDataLen); | |
/** | |
* º¯ÊýÃû³Æ£º PCM_Audio_Stop | |
* ¹¦ÄÜÃèÊö£º PCMÊý¾ÝÍ£Ö¹²¥·Å | |
* ²ÎÊý˵Ã÷£º (IN)ÎÞ | |
* ·µ »Ø Öµ£º ³É¹¦·µ»Ø0;·ñÔò·µ»Ø-1¡£ | |
* ÆäËü˵Ã÷£º | |
*/ | |
SINT32 PCM_Audio_Stop(VOID); | |
/** | |
* º¯ÊýÃû³Æ£º PCM_Audio_Close | |
* ¹¦ÄÜÃèÊö£º PCMÒôƵ²¥·ÅÄ£¿é¹Ø±Õ | |
* ²ÎÊý˵Ã÷£º (IN)ÎÞ | |
* ·µ »Ø Öµ£º ³É¹¦·µ»Ø0;·ñÔò·µ»Ø-1¡£ | |
* ÆäËü˵Ã÷£º | |
*/ | |
SINT32 PCM_Audio_Close(VOID); | |
#ifdef __cplusplus | |
} | |
#endif | |
#endif /* ZTE_PCMDRIVER_H */ | |