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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? uda1341.c

?? Samsung ARM for 2440
?? C
字號:
#include "def.h"
#include "2440addr.h"
#include "2440lib.h"
#include "AudioDrv.h"
#include "WindowsXP_Wav.h"		//長度為243552個字節

#define	BUF_SIZE	(16*1024)

extern U32 downloadAddress;
extern U32 downloadFileSize;
//extern U8 USB_OR_UART_Download_OK ;

//static U16 fsTable[] = {8000,11025,16000,22050,32000,44100,48000,0};

void PlayMusicTest(void)
{
	int size, i, j, err;
	WAVEFORMATEX fmt;
	WAVEHDR hdr[2048];
	HWAVEOUT hwo;	
	U8 pause = 0;
	U8 mute = 0;	
	U32 volume;
	unsigned char *buf;

	downloadAddress = _NONCACHE_STARTADDRESS;
	buf = (unsigned char *)downloadAddress ;
	for( i = 0; i < 243552; i++ )  buf[i] = WindowsXP_Wav[i] ;
	downloadFileSize = 243552 ;

	size = *(U32 *)(downloadAddress+0x28);
	i = 0;							
	
	while(size>0)
	{
		hdr[i].lpData = (LPSTR)(downloadAddress+0x2c+i*BUF_SIZE);
		hdr[i].dwBufferLength = (size>BUF_SIZE)?BUF_SIZE:size;	
		size -= BUF_SIZE;
		i++;
	}
	
	fmt.wFormatTag		= WAVE_FORMAT_PCM;
	fmt.nChannels		= *(U16 *)(downloadAddress+0x16);
	fmt.nSamplesPerSec	= *(U32 *)(downloadAddress+0x18);
	fmt.nAvgBytesPerSec	= *(U32 *)(downloadAddress+0x1c);
	fmt.nBlockAlign		= *(U16 *)(downloadAddress+0x20);
	fmt.wBitsPerSample	= *(U16 *)(downloadAddress+0x22);
	Uart_Printf("\nSample Rate = %d, Channels = %d, %dBitsPerSample, size = %d\n",
			fmt.nSamplesPerSec, fmt.nChannels, fmt.wBitsPerSample, *(U32 *)(downloadAddress+0x28));
	
	hwo = 0;
	err = waveOutOpen(&hwo,
				0,
				&fmt,
				0,
				0,
				0);
	Uart_Printf("\nerr = %x\n", err);			
	for(j=0;j<i;j++)
		waveOutWrite(0,	&hdr[j], 0);
		
	Uart_Printf("Now playing the file\n");
	Uart_Printf("Press 'ESC' to quit, '+' to inc volume, '-' to dec volume, 'm' to mute, 'p' to pause\n");		
	
	waveOutGetVolume(0,	&volume);
	while(1)
	{
		U8 key = Uart_Getch();
		if( key == ESC_KEY )
			break;
		if(key=='p')
		{
			pause ^= 1;
			if(pause&1)
				waveOutPause(0);
			else
				waveOutRestart(0);				
		}
		if(key=='m')
		{						
			mute ^= 1;
			if(mute&1)									
				waveOutSetVolume(0, 0);			
			else
				waveOutSetVolume(0, volume);			
		}
		if((key=='+')&&(volume<=64535))		
		{
			volume += 1000;
			waveOutSetVolume(0, volume);
		}
		if((key=='-')&&(volume>=1000))
		{
			volume -= 1000;
			waveOutSetVolume(0, volume);
		}	
					
	}					
	waveOutClose(0);
}

void RecordTest(void)
{
	int size, i, j, err;
	WAVEFORMATEX fmt;
	WAVEHDR hdr[2048];
	HWAVEIN hwi = 1;	
	
	/*Uart_Printf("Please select Sample Rate:\n");
	for(i=0; fsTable[i]; i++)
		Uart_Printf("%d. %dHz\n", i, fsTable[i]);	
	while(1)
	{
		U8 key = Uart_Getch();
		if((key-'0')>=0&&(key-'0'<=i-1))
		{
			fmt.nSamplesPerSec = fsTable[key-'0'];
			break;
		}		
	}*/
	
	Uart_Printf( "\nThe Frequency of record is 48KHz\n" );
	fmt.nSamplesPerSec = 48000;		//采樣頻率為48KHz
	fmt.wBitsPerSample = 16;

	fmt.wFormatTag		= WAVE_FORMAT_PCM;
	fmt.nChannels		= 2;
	fmt.nBlockAlign     = fmt.wBitsPerSample*fmt.nChannels/8;	
	fmt.nAvgBytesPerSec	= fmt.nSamplesPerSec*fmt.nBlockAlign;
	
	downloadAddress  = 0x30800000;//_NONCACHE_STARTADDRESS;
	downloadFileSize = size = 16*1024*1024;	
	i = 0;
	
	while(size>0)
	{
		hdr[i].lpData = (LPSTR)(downloadAddress+0x2c+i*BUF_SIZE);
		hdr[i].dwBufferLength = (size>BUF_SIZE)?BUF_SIZE:size;	
		size -= BUF_SIZE;
		i++;
	}	
	
	*(U16 *)(downloadAddress+0x14) = fmt.wFormatTag;
	*(U16 *)(downloadAddress+0x16) = fmt.nChannels;
	*(U32 *)(downloadAddress+0x18) = fmt.nSamplesPerSec;
	*(U32 *)(downloadAddress+0x1c) = fmt.nAvgBytesPerSec;
	*(U16 *)(downloadAddress+0x20) = fmt.nBlockAlign;
	*(U16 *)(downloadAddress+0x22) = fmt.wBitsPerSample;
	*(U32 *)(downloadAddress+0x28) = downloadFileSize;
	
	err = waveInOpen(&hwi,
				0,
				&fmt,
				0,
				0,
				0);
	Uart_Printf("\nerr = %x\n", err);
	
	for(j=0;j<i;j++)
		if(waveInAddBuffer(hwi, &hdr[j], 0))
			Uart_Printf("Add buffer error!");
			
	Uart_Printf("Added %d buffer for record\n", i);
	Uart_Printf("Press any to Record\n");
	Uart_Getch();
	
	Uart_Printf("Now begin recording, Press 'ESC' to quit\n");	
	waveInStart(hwi);
	
	while(1)
	{
		U8 key;
		
		key = Uart_GetKey();
		if( key == ESC_KEY )
			break;
			
//		Uart_Printf("%x,%x,%x,%x,%x,%x,%x\n", rDISRC2, rDISRCC2, rDIDST2, rDIDSTC2, rDCON2, rDSTAT2, rDMASKTRIG2);		
//		Uart_Printf("%x,%x,%x,%x\n", rIISCON, rIISMOD, rIISPSR, rIISFCON);
	}		
	waveInClose(hwi);
}

void RecordChannelOnOff(void)
{
	static int ChannelOn = 0;
	int err;
	WAVEFORMATEX fmt;
	WAVEHDR hdr;
	HWAVEIN hwi = 1;
	
	fmt.nSamplesPerSec  = 22050;
	fmt.wBitsPerSample  = 16;
	fmt.wFormatTag		= WAVE_FORMAT_PCM;
	fmt.nChannels		= 2;
	fmt.nBlockAlign     = fmt.wBitsPerSample*fmt.nChannels/8;	
	fmt.nAvgBytesPerSec	= fmt.nSamplesPerSec*fmt.nBlockAlign;
	
	hdr.lpData = (LPSTR)0x30800000;//_NONCACHE_STARTADDRESS;
	hdr.dwBufferLength = BUF_SIZE;
	
	if(!ChannelOn) {
		err = waveInOpen(&hwi,
					0,
					&fmt,
					0,
					0,
					0);
		Uart_Printf("\nerr = %x\n", err);
		if(!err) {
			waveInAddBuffer(hwi, &hdr, 0);
			waveInStart(hwi);
			Uart_Printf("Record channel on\n");
			ChannelOn = 1;
		}
	} else {
		waveInClose(hwi);
		Uart_Printf("Record channel off\n");
		ChannelOn = 0;
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久国际精品| 亚洲综合在线视频| 国内精品久久久久影院色| 91精品午夜视频| 日韩精彩视频在线观看| 在线91免费看| 天堂精品中文字幕在线| 日韩一区二区在线看片| 国产成人精品影视| 亚洲一区二区三区在线| 日韩三级视频在线看| 波多野结衣一区二区三区| 中文字幕在线一区免费| 国产99久久久国产精品潘金| 久久国产精品区| 日韩欧美一区二区视频| 国产suv精品一区二区6| 欧美三级午夜理伦三级中视频| 欧美性色aⅴ视频一区日韩精品| 91农村精品一区二区在线| 在线视频一区二区免费| 555夜色666亚洲国产免| 国产欧美一区二区精品性色超碰| 国产精品国产三级国产aⅴ原创| 国产精品久久久久久久浪潮网站| 亚洲欧美日韩国产中文在线| 美腿丝袜亚洲综合| 欧美日韩国产一级片| 中文字幕不卡的av| 国产又粗又猛又爽又黄91精品| 日本精品视频一区二区| 久久久久一区二区三区四区| 亚洲成人av电影在线| 大陆成人av片| 精品第一国产综合精品aⅴ| 亚洲婷婷综合色高清在线| 久久国产免费看| 欧美日韩一级视频| 1000精品久久久久久久久| 蜜桃视频第一区免费观看| 91精品国产综合久久小美女| 亚洲一区二区三区视频在线 | 国产精品久久毛片a| 日韩高清在线不卡| 日韩免费看的电影| 国产福利视频一区二区三区| 精品少妇一区二区三区在线视频| 国产最新精品免费| **欧美大码日韩| 一本到一区二区三区| 亚洲一区二区三区四区五区黄| 欧美三级电影网站| 亚洲超碰97人人做人人爱| 欧美日韩一区二区三区在线看| 国产精品萝li| 在线不卡中文字幕| 波多野结衣中文一区| 中文字幕一区二区三区乱码在线 | 91免费看片在线观看| 亚洲精品一二三| 欧美成人video| 日本大香伊一区二区三区| 日欧美一区二区| 久久这里都是精品| 日本韩国欧美一区二区三区| 亚洲男人都懂的| 精品成人一区二区三区| 一本久道久久综合中文字幕| 精品一区中文字幕| 亚洲国产日韩综合久久精品| 久久久久久久国产精品影院| 日本韩国欧美三级| 国产成人精品午夜视频免费| 日本少妇一区二区| 亚洲欧洲日韩一区二区三区| 欧美福利视频一区| caoporn国产精品| 国产在线播放一区三区四| 日韩激情一区二区| 午夜亚洲国产au精品一区二区| 中文一区在线播放| 欧美激情在线一区二区三区| 欧美白人最猛性xxxxx69交| 欧洲人成人精品| 一本久久综合亚洲鲁鲁五月天 | 韩国v欧美v日本v亚洲v| 香蕉久久一区二区不卡无毒影院 | 久久国产精品色婷婷| 午夜欧美电影在线观看| 婷婷国产在线综合| 一区二区三区中文字幕精品精品| 亚洲欧洲一区二区在线播放| 欧美国产乱子伦| 国产欧美精品国产国产专区| 国产精品久久久久国产精品日日 | 亚洲精品中文字幕乱码三区 | 麻豆精品一区二区av白丝在线| 亚洲品质自拍视频| 亚瑟在线精品视频| 国产最新精品精品你懂的| 不卡一区在线观看| 91麻豆产精品久久久久久 | 欧美日韩1234| 欧美精品一区在线观看| 久久午夜羞羞影院免费观看| 亚洲国产精品国自产拍av| 亚洲国产精品久久艾草纯爱| 午夜精品123| 国产精品99久久不卡二区| 色天使久久综合网天天| 日韩欧美在线影院| 欧美国产精品一区| 亚洲成人午夜电影| 色综合久久综合中文综合网| 久久青草欧美一区二区三区| 亚洲一区二区三区视频在线 | 成人手机在线视频| 日韩亚洲国产中文字幕欧美| 中文字幕在线一区| 日韩成人免费在线| 欧美天堂亚洲电影院在线播放| 久久精品一区二区| 亚洲成av人影院| 欧美四级电影在线观看| 国产欧美一区二区精品仙草咪 | 91麻豆国产在线观看| 日韩三级.com| 日本中文一区二区三区| 56国语精品自产拍在线观看| 亚洲欧美色综合| 欧美日韩视频不卡| 亚洲免费视频成人| 91免费视频网| 亚洲狠狠丁香婷婷综合久久久| 国产成人欧美日韩在线电影 | 欧美xxxxx裸体时装秀| 免费在线观看精品| 欧美一区二区三区婷婷月色| 五月天激情综合| 日韩午夜av电影| 狠狠色综合日日| 国产欧美日韩三级| 成人精品电影在线观看| 国产精品久久久久久户外露出 | 久久精品理论片| 久久久久久99久久久精品网站| 国产精品自产自拍| 最新国产の精品合集bt伙计| 91丨九色丨蝌蚪丨老版| 石原莉奈一区二区三区在线观看| 欧美日韩亚洲综合一区| 久久激情综合网| 亚洲精品视频自拍| 成人久久久精品乱码一区二区三区| 欧美国产欧美综合| 欧美日本一区二区三区| 精品一区二区三区在线视频| 专区另类欧美日韩| 日韩欧美自拍偷拍| 色哟哟一区二区| 美女mm1313爽爽久久久蜜臀| 国产婷婷一区二区| 91精品国产一区二区三区 | 7777精品伊人久久久大香线蕉| 久久99精品久久久久婷婷| 一区二区三区四区在线播放| 精品美女在线播放| 这里只有精品99re| 欧美日韩成人综合| 欧美日韩免费不卡视频一区二区三区| 国产一区二区剧情av在线| 国产福利不卡视频| 激情综合色播激情啊| 26uuu亚洲综合色欧美| 久久激情五月婷婷| 亚洲综合av网| 亚洲国产精品一区二区久久恐怖片| 国产精品免费看片| 久久久99精品免费观看不卡| 日韩免费视频线观看| 日韩欧美国产精品| 欧美国产综合一区二区| 国产欧美日韩精品a在线观看| 欧美韩国日本不卡| 国产精品网站导航| 国产精品久久久久aaaa| 亚洲欧洲日韩综合一区二区| 夜色激情一区二区| 午夜久久久影院| 国产真实乱对白精彩久久| 国产精品123| 一本大道综合伊人精品热热| 欧美性感一区二区三区| 欧美一区二区三级| 亚洲国产精品精华液ab| 欧美精彩视频一区二区三区| 国产欧美视频一区二区| 亚洲国产视频直播| 丁香激情综合国产| 91精品久久久久久蜜臀|