亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? iekc64_audio.h

?? 一個小的測試程序
?? H
?? 第 1 頁 / 共 2 頁
字號:
  */
  Uint32 dwAudioInEdmaPri;
	/*! This field defines to the AUDIO output EDMA priority 
	*/
	Uint32 dwAudioOutEdmaPri;	
}
IEKC64_AUDIO;

/*--------------------------------------------------------------------------*/
/*! This varaible contains the AUDIO default configuration
*/
extern const IEKC64_AUDIO IEKC64_AUDIO_CONFIG_DEFAULT;
  
/*--------------------------------------------------------------------------*/
/*! Module error codes.<br>
	 If status returned from a module call is negative (or 
	 IEKC64_SUCCESS(return code) is false), the value represents en error
	 from the list below
*/
enum IEKC64_AUDIO_STATUS
{
	//! \ Codec initialization error
	IEKC64_AUDIO_INIT_ERR						= IEKC64_ERR_CODE( IEKC64_AUD,  1 ),
	//! \ Codec writing error
	IEKC64_AUDIO_WRITE_ERR						= IEKC64_ERR_CODE( IEKC64_AUD,  2 ),
	//! \ Codec line intialization error
	IEKC64_AUDIO_SOURCE_LINE_ERR				= IEKC64_ERR_CODE( IEKC64_AUD,  3 ),
	//! \ Codec mic intialization error
	IEKC64_AUDIO_SOURCE_MIC_ERR			     	= IEKC64_ERR_CODE( IEKC64_AUD,  4 ),
	//! \ Codec mic -20 db intialization error
	IEKC64_AUDIO_SOURCE_MIC20DB_ERR			    = IEKC64_ERR_CODE( IEKC64_AUD,  5 ),
	//! \ Unknown error
	IEKC64_AUDIO_UNKNOWN_ERR					= IEKC64_ERR_CODE( IEKC64_AUD,  6 ),
	//! \ Interrupt not waited
	IEKC64_AUDIO_SPURIOUSINTR					= IEKC64_ERR_CODE( IEKC64_AUD,  7 ),
	//! \ Audio receive time out 
	IEKC64_AUDIO_RCV_TIMEOUT					= IEKC64_ERR_CODE( IEKC64_AUD,  8 ),
	//! \ Audio transmit time out 
	IEKC64_AUDIO_XMT_TIMEOUT					= IEKC64_ERR_CODE( IEKC64_AUD,  9 ),
	//! \ Audio open failed
	IEKC64_AUDIO_OPENFAIL						= IEKC64_ERR_CODE( IEKC64_AUD,  10 ),
	//! \ Audio time out occurs
	IEKC64_AUDIO_TIMEOUT						= IEKC64_ERR_CODE( IEKC64_AUD,  11 ),
	//! \ No frame available for reading
	IEKC64_AUDIO_ERR_NO_FRAME_AVAILABLE		    = IEKC64_ERR_CODE( IEKC64_AUD,  12 ),
	//! \ Frame size unsupported
	IEKC64_AUDIO_FRAME_SIZE_ERR				    = IEKC64_ERR_CODE( IEKC64_AUD,  13 ),
	//! \ Mcbsp channel open failed
	IEKC64_AUDIO_MCBSP_OPEN_FAIL				= IEKC64_ERR_CODE( IEKC64_AUD,  14 ),
	//! \ Tcc channel already used
	IEKC64_AUDIO_EDMA_BADTCC					= IEKC64_ERR_CODE( IEKC64_AUD,  15 ),
	//! \ Audio sample rate initialization failed
	IEKC64_SAMPLERATE_FAIL						= IEKC64_ERR_CODE( IEKC64_AUD,  16 ),
	//! \ Audio semaphore creation failed
	IEKC64_ERR_SEMAUDIO							= IEKC64_ERR_CODE( IEKC64_AUD,  17 ),
  //! Invalid audio configuration structure size	
	IEKC64_AUDIO_ERR_CFG_SIZE				= IEKC64_ERR_CODE( IEKC64_AUD,  18 ),
	//! Audio Handle allocation failed
	IEKC64_AUDIO_ERR_CANNOTALLOCATE_HANDLE = IEKC64_ERR_CODE( IEKC64_AUD,  19 ),
	//! Audio In start function failled. You may call the AUDIO_startRecord function from the main function.
	IEKC64_ERR_AUDIOIN_START_ERROR				= IEKC64_ERR_CODE( IEKC64_AUD,  20 )
};


/*--------------------------------------------------------------------------*/
/*! Initialize the AUDIO module
 
	\param pAudioConfig 
				A pointer to an audio configuration structure

	\param pAudioHandle 
				This must point to a Handle that will be filled
				by the call. This handle must be used in every next calls to
				the AUDIO module.

	\return	An IEKC64_STATUS. If the call succeeds, the value will be IEKC64_OK.
				Otherwise it holds an error code. The status code can be tested by
				the IEKC64_SUCCESS(return code) macro that is true is the value
				represents a successful call.

	\b Example: 
	\verbatim
	// Initialize with default parameters
	IEKC64_AUDIO AudioCfg = IEKC64_AUDIO_CONFIG_DEFAULT;
	Handle			hAUD;
	IEKC64_STATUS	status;

	//board intialisation
	...
	
	// configure needed fields 
	AudioCfg.dwSize = sizeof(IEKC64_AUDIO);
	AudioCfg.Source=SOURCE_LINE;
	AudioCfg.DigitalAudio.isDACSoftMuteEnabled=FALSE;
	AudioCfg.DigitalAudio.isADCHighPassFilterEnabled=TRUE;
	AudioCfg.DigitalAudio.DeEmphasisCtrl=AUDIO_DEEMP48K;
	AudioCfg.SampleRate=0;  //12.288MHz
	AudioCfg.FramesLength=65000;
	AudioCfg.GainInLeft=4.5;
	AudioCfg.GainInRigth=4.5;
	AudioCfg.GainOutLeft=6;
	AudioCfg.GainOutRigth=6;
	AudioCfg.LoopBack=FALSE;
	AudioCfg.nFramesInBuffer=5;
	AudioCfg.nFramesToKeep=2;
	AudioCfg.pBuffer=&TabIn[0];
	
	AUDIO_open(&AudioCfg, &hAUD);
	\endverbatim
	
  You can find usage of this function in <a href="../../example/loopback_audio">example/loopback_audio</a>
  /<a href="../../example/loopback_audio/loopback_audio.c">loopback_audio.c</a>.

*/
IEKC64_STATUS AUDIO_open(IEKC64_AUDIO *AudioConfig, Handle *pAudioHandle);

/*--------------------------------------------------------------------------*/
/*! Start the audio recording
 
	\param audioHandle
				A audio handle returned by a previous call to AUDIO_init().

	\return	An IEKC64_STATUS. If the call succeeds, the value is IEKC64_OK.
				Otherwise it holds an error code. The status code can be tested by
				the IEKC64_SUCCESS(return code) macro that is true is the value
				represents a successful call.

	\b Example: 
	\verbatim
	IEKC64_AUDIO AudioCfg;
	Handle			hAUD;
	IEKC64_STATUS	status;

	...initialize all field
	AUDIO_open(&AudioCfg,NULL);
	...
	AUDIO_startRecord(&hAUD);
	\endverbatim

  You can find usage of this function in <a href="../../example/loopback_audio">example/loopback_audio</a>
  /<a href="../../example/loopback_audio/loopback_audio.c">loopback_audio.c</a>.

*/

IEKC64_STATUS AUDIO_startRecord( Handle audioHandle );

/*--------------------------------------------------------------------------*/
/*! Start the audio playing
 
	\param audioHandle
				A audio handle returned by a previous call to AUDIO_init().

	\return	An IEKC64_STATUS. If the call succeeds, the value is IEKC64_OK.
				Otherwise it holds an error code. The status code can be tested by
				the IEKC64_SUCCESS(return code) macro that is true is the value
				represents a successful call.

	\b Example: 
	\verbatim
	IEKC64_AUDIO AudioCfg;
	Handle			hAUD;
	IEKC64_STATUS	status;

	...initialize all field
	AUDIO_open(&AudioCfg,NULL);
	...
	AUDIO_startPlay(&hAUD);
	\endverbatim

  You can find usage of this function in <a href="../../example/loopback_audio">example/loopback_audio</a>
  /<a href="../../example/loopback_audio/loopback_audio.c">loopback_audio.c</a>.

*/
IEKC64_STATUS AUDIO_startPlay( Handle audioHandle );


/*--------------------------------------------------------------------------*/
/*! Get next frame from the recording audio buffer
 
	\param audioHandle 
				An audio handle returned by a previous call to AUDIO_init().

	\param pPtrFrame 
				A pointer, passed by reference, to the next audio frame from
				the recording audio buffer. The call will set the value.

	\param nTimeout 
				A maximum time in milliseconds to wait for a new audio frame.
				If no audio frame is available before the specified time ellapses,
				IEKC64_AUDIO_ERR_NO_FRAME_AVAILABLE is returned.
				If the timeout value is 0 or IEKC64_AUDIO_NO_WAIT, the function 
				doesn't block.
				If the timeout value is IEKC64_AUDIO_WAIT_INFINITE, then the 
				function call block until a new frame is available

	\return	An IEKC64_STATUS. If the call succeeds, the value is IEKC64_OK.
				Otherwise it holds an error code. The status code can be tested by
				the IEKC64_SUCCESS(return code) macro that is true is the value
				represents a successful call.

	\b Example: 
	\verbatim
	IEKC64_AUDIO AudioCfg;
	Handle			hAUD;
	IEKC64_STATUS	status;

	...initialize all field
	AUDIO_open(&AudioCfg,NULL);
	...
	AUDIO_getFrame(hAUD, (void**)&Address,IEKC64_AUDIO_WAIT_INFINITE);
	...	
	AUDIO_startRecord(&hAUD);
	\endverbatim

  You can find usage of this function in <a href="../../example/loopback_audio">example/loopback_audio</a>
  /<a href="../../example/loopback_audio/loopback_audio.c">loopback_audio.c</a>.

*/
IEKC64_STATUS AUDIO_getFrame( Handle audioHandle, void **pPtrFrame, Int32 nTimeout );

/*--------------------------------------------------------------------------*/
/*! Set next audio frame to played
 
	\param audioHandle 
				An audio handle returned by a previous call to AUDIO_init().

	\param pFrame 
				A pointer to the next audio frame to be played
				
	\param nTimeout 
				A maximum time in milliseconds to wait for the audio frame
				to become active.
				If the timeout value is 0 or IEKC64_AUDIO_NO_WAIT, the function 
				doesn't block.
				If the timeout value is IEKC64_AUDIO_WAIT_INFINITE, then the 
				function calls block until a new frame is available

	\return	An IEKC64_STATUS. If the call succeeds, the value is IEKC64_OK.
				Otherwise it holds an error code. The status code can be tested by
				the IEKC64_SUCCESS(return code) macro that is true is the value
				represents a successful call.

	\b Example: 
	\verbatim
	IEKC64_AUDIO AudioCfg;
	Handle			hAUD;
	IEKC64_STATUS	status;

	...initialize all field
	AUDIO_open(&AudioCfg,NULL);
	...
	AUDIO_startRecord(&hAUD);
	...
	status = AUDIO_getFrame(hAUD, (void**)&Address,IEKC64_AUDIO_NO_WAIT);
		
	if (IEKC64_SUCCESS(status))
	 	{
	 	...
	 	}
	\endverbatim

  You can find usage of this function in <a href="../../example/loopback_audio">example/loopback_audio</a>
  /<a href="../../example/loopback_audio/loopback_audio.c">loopback_audio.c</a>.

*/
IEKC64_STATUS AUDIO_putFrame( Handle audioHandle, void *pFrame, Int32 nTimeout );

/*--------------------------------------------------------------------------*/
/*! Wait for the last put frame to be active
 
	\param audioHandle
				An audio handle returned by a previous call to AUDIO_init().

	\param nTimeout 
				A maximum time in milliseconds to wait for the audio frame
				to become active.
				If the timeout value is 0 or IEKC64_AUDIO_NO_WAIT, the function 
				doesn't wait at all.
				If the timeout value is IEKC64_AUDIO_WAIT_INFINITE, then the 
				function call block until a new frame is available

	\return	An IEKC64_STATUS. If the call succeeds, the value will be IEKC64_OK.
				Otherwise it holds an error code. The status code can be tested by
				the IEKC64_SUCCESS(return code) macro that is true is the value
				represents a successful call.

	\b Example: 
	\verbatim
	status = AUDIO_waitPlayed( audioHandle, IEKC64_AUDIO_NO_WAIT );
	if ( !IEKC64_SUCCESS(status) )
	{
		printf( "AUDIO_waitPlayed() returned error %08X\n", status );
		exit( 1 );
	}
	\endverbatim

*/
IEKC64_STATUS AUDIO_waitPlayed( Handle audioHandle, Int32 nTimeout );


/*--------------------------------------------------------------------------*/
/*! Stop audio for record AND play.
 
	\param audioHandle
				An audio handle returned by a previous call to AUDIO_init().

	\return	An IEKC64_STATUS. If the call succeeds, the value is IEKC64_OK.
				Otherwise it holds an error code. The status code can be tested by
				the IEKC64_SUCCESS(return code) macro that is true is the value
				represents a successful call.

	\b Example: 
	\verbatim
	status = AUDIO_stop( audioHandle );
	if ( !IEKC64_SUCCESS(status) )
	{
		printf( "AUDIO_stop() returned error %08X\n", status );
		exit( 1 );
	}
	\endverbatim

*/
IEKC64_STATUS AUDIO_close(Handle AudioHandle);


/*@}*//* end of group AUDIO */

#ifdef __cplusplus
}
#endif

#endif /* ifndef _IEK_AUDIO_H_ */

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
天堂蜜桃一区二区三区| 亚洲天堂免费看| 久久er99热精品一区二区| 欧美电影免费观看高清完整版在线| 石原莉奈一区二区三区在线观看| 欧美人成免费网站| 美腿丝袜一区二区三区| 2017欧美狠狠色| 成人免费看片app下载| 国产精品久久久久久久久搜平片| 95精品视频在线| 亚洲一卡二卡三卡四卡| 日韩一区二区三区高清免费看看| 狠狠色丁香久久婷婷综合丁香| 久久综合九色综合97_久久久| 国产iv一区二区三区| 1024国产精品| 日韩一区二区在线观看| 国产盗摄女厕一区二区三区| 一区二区中文视频| 欧美高清一级片在线| 国产精品88888| 亚洲午夜久久久久久久久电影院| 7777精品伊人久久久大香线蕉的| 国产一区二区三区美女| 一区二区三区在线看| 欧美一级夜夜爽| 岛国一区二区三区| 亚洲第一成人在线| 国产欧美精品国产国产专区| 色8久久精品久久久久久蜜| 天天av天天翘天天综合网色鬼国产| 亚洲精品一区二区三区99| 97se亚洲国产综合自在线| 奇米色一区二区| 亚洲美女视频一区| 精品国产乱子伦一区| 欧美体内she精高潮| 国产在线精品一区在线观看麻豆| 亚洲色图一区二区三区| 欧美电视剧免费观看| 一本色道久久综合精品竹菊| 美女一区二区视频| 一区二区三区丝袜| 久久伊人蜜桃av一区二区| 91国产免费看| 岛国精品在线播放| 久久国产夜色精品鲁鲁99| 亚洲一二三级电影| 国产精品盗摄一区二区三区| 欧美大片免费久久精品三p| 欧洲一区二区三区在线| 成人av网址在线观看| 狠狠色伊人亚洲综合成人| 亚洲国产欧美在线人成| 国产精品欧美久久久久无广告| 精品免费一区二区三区| 欧美精品在线视频| 欧美最猛性xxxxx直播| 不卡免费追剧大全电视剧网站| 经典三级视频一区| 蜜臀久久久99精品久久久久久| 亚洲综合av网| 亚洲嫩草精品久久| 国产精品乱码久久久久久| 精品美女一区二区| 日韩美女一区二区三区| 7777精品伊人久久久大香线蕉| 日本久久一区二区三区| 91麻豆精品在线观看| av在线这里只有精品| 国产91精品一区二区麻豆网站| 久久99精品久久久久久动态图| 五月综合激情网| 亚洲成av人片在www色猫咪| 一区二区三区鲁丝不卡| 亚洲精品视频在线| 亚洲欧美国产毛片在线| 亚洲美女电影在线| 亚洲最大成人综合| 亚洲一卡二卡三卡四卡五卡| 一区二区高清免费观看影视大全| 亚洲精品一二三| 一区二区三区中文字幕精品精品| 一区二区三区在线免费播放| 一区二区成人在线| 午夜私人影院久久久久| 男女男精品网站| 国内精品国产三级国产a久久| 国产呦萝稀缺另类资源| 国产成人在线观看免费网站| 丰满放荡岳乱妇91ww| 99久久久免费精品国产一区二区| av午夜精品一区二区三区| 色呦呦国产精品| 欧美无砖砖区免费| 7777精品伊人久久久大香线蕉| 欧美一卡在线观看| 久久精品欧美日韩精品| 中文字幕一区二区三区乱码在线| 综合色中文字幕| 五月婷婷另类国产| 国产一区二区免费在线| 99久久国产综合精品女不卡| 欧美在线999| 日韩三级av在线播放| 国产欧美一区在线| 一区二区三区四区亚洲| 美腿丝袜亚洲综合| av在线这里只有精品| 欧美日韩精品三区| 欧美精品一区二区三区在线| 国产欧美精品一区aⅴ影院| 亚洲精品乱码久久久久久日本蜜臀| 亚洲国产色一区| 国产综合成人久久大片91| 91丝袜国产在线播放| 欧美一区二区网站| 国产亚洲精品精华液| 亚洲一线二线三线视频| 另类小说视频一区二区| 成人国产电影网| 欧美乱妇一区二区三区不卡视频| 久久影院视频免费| 午夜电影一区二区三区| 懂色av一区二区夜夜嗨| 欧美精品一二三| 中文字幕高清一区| 日韩精品免费专区| 91亚洲国产成人精品一区二区三 | 亚洲一区二区三区免费视频| 久久疯狂做爰流白浆xx| 欧美在线影院一区二区| 久久蜜桃一区二区| 石原莉奈一区二区三区在线观看| 成人白浆超碰人人人人| 日韩欧美国产一区在线观看| 亚洲精品久久久久久国产精华液| 国产一区二区精品在线观看| 欧美情侣在线播放| 亚洲色图制服诱惑 | 国产成人在线视频网站| 欧美久久久久中文字幕| 亚洲天堂av一区| 国产成人免费视频一区| 欧美一卡二卡三卡四卡| 亚洲第四色夜色| 91网上在线视频| 亚洲国产成人自拍| 国产一区二区美女| 日韩精品中文字幕在线不卡尤物 | 日欧美一区二区| 91久久线看在观草草青青| 欧美国产日韩精品免费观看| 久久成人免费日本黄色| 91.麻豆视频| 亚洲在线中文字幕| 成人美女视频在线看| 久久网这里都是精品| 精品一区二区免费视频| 精品日韩99亚洲| 久久国产夜色精品鲁鲁99| 日韩一区二区三区在线观看| 日韩高清在线电影| 欧美一区欧美二区| 日韩成人精品视频| 91精品国产综合久久精品| 午夜精品福利一区二区蜜股av| 欧美日韩视频在线第一区 | 高清国产午夜精品久久久久久| 精品日本一线二线三线不卡| 奇米影视在线99精品| 日韩欧美中文字幕精品| 麻豆免费精品视频| 久久这里只有精品首页| 国产精品白丝av| 国产精品传媒入口麻豆| 91亚洲国产成人精品一区二三| 亚洲天堂av老司机| 欧美亚州韩日在线看免费版国语版| 亚洲国产视频a| 777奇米成人网| 精品亚洲欧美一区| 欧美国产欧美亚州国产日韩mv天天看完整 | 欧美日韩一区不卡| 三级一区在线视频先锋| 日韩欧美精品三级| 国产一区二区按摩在线观看| 国产日产欧美一区二区三区| 91丨porny丨蝌蚪视频| 艳妇臀荡乳欲伦亚洲一区| 制服视频三区第一页精品| 激情欧美一区二区三区在线观看| 国产日韩视频一区二区三区| av电影在线不卡| 亚洲bt欧美bt精品777| 欧美成人一区二区三区在线观看| 国产一区二区三区在线观看免费| 国产精品沙发午睡系列990531| 91蝌蚪国产九色|