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

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

?? audiocapture.java

?? 自編的Applet錄音機(jī)源碼
?? JAVA
字號(hào):
package sunstudio.record.au.audio.capture;

import com.ms.dll.*;
import com.ms.win32.*;
import java.util.*;
import sunstudio.util.*;

public class AudioCapture{
	Vector listeners=new Vector();
	DllLib dlllib;
	int bufferlen=10;
	byte[][] data=new byte[bufferlen][1600];
	int dataPtr=0;
	WAVEINCAPS waveincaps;
	WAVEHDR[] wavehdr;
	int[] deviceid=new int[2];
	boolean useful=false;
	c wcb;
	boolean pause=true;//默認(rèn)為暫停狀態(tài)
	boolean isclose=false;
	boolean stop=false;
	String audioOutInfo="GSM.723(165b/0.1s)";
	private static final int WAVE_MAPPER=-1;
	private static final int MMSYSERR_NOERROR=0;
	private static final int CALLBACK_FUNCTION=0x00030000;
	private static final int MM_WIM_OPEN=0x3BE;
	private static final int MM_WIM_DATA=0x3C0;
	private static final int MM_WIM_CLOSE=0x3BF;
	WAVEFORMATEX waveformatex=null;
	int muteValue=2500;
				  
	public AudioCapture(){
        waveformatex=new WAVEFORMATEX();//音頻采集格式
		waveformatex.wFormatTag=1;
		waveformatex.nChannels=1;
		waveformatex.wBitsPerSample=16;
		waveformatex.nSamplesPerSec=8000;
		waveformatex.nBlockAlign=(short)((waveformatex.nChannels*waveformatex.wBitsPerSample)/8);
		waveformatex.nAvgBytesPerSec=waveformatex.nSamplesPerSec*waveformatex.nBlockAlign;
		waveformatex.cbSize=0;
		dlllib=new DllLib();
		waveincaps=new WAVEINCAPS();
		wavehdr=new WAVEHDR[bufferlen];
	}
	public void addAudioDataListener(AudioDataListener lter){
		listeners.addElement(lter);
	}
	void applyBuffer(){
		for(int i=0;i<bufferlen;i++){
			wavehdr[i]=new WAVEHDR();
			int adr=dlllib.addrOfPinnedObject(dlllib.getPinnedHandle(data[i]));
			wavehdr[i].lpData=adr;
			wavehdr[i].dwBufferLength=1600;
			wavehdr[i].dwUser=i;
			wavehdr[i].dwFlags=0;
			wavehdr[i].dwLoops=0;
		}
	}
	int chkData(byte[] a){//將整型低16位高低位交叉并轉(zhuǎn)為字節(jié)
		int max=0;
		for(int i=0;i<800;i++){
			short m=(short)(SystemTool.byteToShort(a[2*i],a[2*i+1]));
			a[2*i]=(byte)(m&0xff);
			a[2*i+1]=(byte)(m>>>8&0xff);
			if(Math.abs(m)>Math.abs(max))max=m;
		}
		return max;
	}
	public void close(){
		if(!useful)return;
		isclose=true;
		waveInStop(deviceid[0]);
		waveInReset(deviceid[0]);
		waveInClose(deviceid[0]);
	}
	public String getAudioOutInfo(){
		return audioOutInfo;
	}
	public boolean isUseful(){
		return useful;
	}
	synchronized void notifyListener(int minValue,byte[] audioData){
		AudioDataEvent evt=new AudioDataEvent(minValue,audioData);
		for(Enumeration enu=listeners.elements();enu.hasMoreElements();)
			((AudioDataListener)enu.nextElement()).onAudioDataArrived(evt);
	}
	public boolean open(){
		useful=openDevice();
		return useful;
	}
	boolean openDevice(){
		if(waveInGetNumDevs()<1)return false;
		if(waveInGetDevCaps(WAVE_MAPPER,waveincaps,dlllib.sizeOf(waveincaps))!=MMSYSERR_NOERROR)return false;
		wcb=new c(this);
		int hndpro=Root.alloc(wcb);
		int adrpro=dlllib.addrOf(hndpro);
		if(waveInOpen(deviceid,WAVE_MAPPER,waveformatex,adrpro,0,CALLBACK_FUNCTION)!=MMSYSERR_NOERROR)return false;
		applyBuffer();
		for(int i=0;i<bufferlen;i++)
			if(waveInPrepareHeader(deviceid[0],wavehdr[i],dlllib.sizeOf(wavehdr[i]))!=MMSYSERR_NOERROR)
				return false;
		if(waveInStart(deviceid[0])!=MMSYSERR_NOERROR)return false;
		return true;
	}
	void processData(int addrHdr){
		if(isclose&&stop)return;
		waveInAddBuffer(deviceid[0],wavehdr[dataPtr],dlllib.sizeOf(wavehdr[dataPtr]));
		dataPtr++;
		dataPtr%=bufferlen;
		try{
			WAVEHDR tmp=(WAVEHDR)dlllib.ptrToStruct(WAVEHDR.class,addrHdr);
			if(!pause){
				int max=chkData(data[tmp.dwUser]);
				if(Math.abs(max)<muteValue)notifyListener(0,null);
				else notifyListener(max,data[tmp.dwUser]);//Codec.encode(data[tmp.dwUser]));
			}
		}catch(Exception ee){}
	}
	/////////////////////////////////////////////////////
	public void suspend_record(){
		pause=true;
	}
	public void resume_record(){
		pause=false;
	}	
	public void start_record(){
		pause=false;
		stop=false;
		waveInAddBuffer(deviceid[0],wavehdr[dataPtr],dlllib.sizeOf(wavehdr[dataPtr]));
	}
	public void stop_record(){
		stop=true;
		pause=true;
	}
	/////////////////////////////////////////////////////
/*	public void setFilter(double volvalue){
		if(volvalue<0||volvalue>1)return;
		filter=(float)volvalue;
	}
*/
	public void setMuteValue(int muteValue){
		this.muteValue=muteValue;
	}
	/**@dll.import("WINMM",auto)*/
	private static native int waveInGetDevCaps(int uDeviceID,WAVEINCAPS pwic,int cbwic);
	/**@dll.import("WINMM",auto)*/
	private static native int waveInGetNumDevs();
	/**@dll.import("WINMM",auto)*/
	private static native int waveInOpen(int[] phwi,int uDeviceID,WAVEFORMATEX pwfx,int dwCallback,int dwInstance,int fdwOpen);
	/**@dll.import("WINMM",auto)*/
	private static native int waveInAddBuffer(int hwi,WAVEHDR pwh,int cbwh);
	/**@dll.import("WINMM",auto)*/
	private static native int waveInStart(int hwi);
	/**@dll.import("WINMM",auto)*/
	private static native int waveInPrepareHeader(int hwi,WAVEHDR pwh, int cbwh);
	/**@dll.import("WINMM",auto)*/
	private static native int waveInStop(int hwi);
	/**@dll.import("WINMM",auto)*/
	private static native int waveInClose(int hwi);
	/**@dll.import("WINMM",auto)*/
	public static native int waveInReset(int hwi);
	private class c extends Callback{
		AudioCapture record;
		c(AudioCapture tt){
			record=tt;
		}
	    private boolean callback(int hwi,int msg,int dwInstance,int dwParam1,int dwParam2){
			switch(msg){
			case AudioCapture.MM_WIM_DATA:
				record.processData(dwParam1);
				break;
			case AudioCapture.MM_WIM_OPEN:
				break;
			case AudioCapture.MM_WIM_CLOSE:
			}
			return true;
	    }
	}
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
丁香婷婷综合网| 欧美日韩在线播放一区| 夜夜嗨av一区二区三区| 欧美不卡一区二区三区| 91麻豆国产香蕉久久精品| 久久99精品国产麻豆婷婷| 亚洲综合一区二区| 欧美国产禁国产网站cc| 日韩欧美黄色影院| 欧美唯美清纯偷拍| aaa亚洲精品| 国产xxx精品视频大全| 免费人成黄页网站在线一区二区| 亚洲欧美日韩系列| 欧美激情一区二区在线| 欧美一区二区免费| 欧美性生活一区| 色综合久久九月婷婷色综合| 福利电影一区二区| 国产呦萝稀缺另类资源| 另类欧美日韩国产在线| 日韩和欧美一区二区三区| 中文字幕在线不卡一区二区三区| 精品国产一区二区三区四区四| 91啪九色porn原创视频在线观看| 亚洲一级片在线观看| 成人动漫一区二区在线| 亚洲国产欧美日韩另类综合| 91福利国产成人精品照片| 91在线视频播放| 国产一区二区美女| 亚洲黄色免费电影| 欧美精品一二三| 成人免费毛片嘿嘿连载视频| 亚洲午夜精品网| 在线亚洲一区二区| 国内精品国产三级国产a久久 | 99国产精品久久久久久久久久| 国产一区二区三区蝌蚪| 国产乱人伦精品一区二区在线观看| 麻豆一区二区三区| 蜜臀va亚洲va欧美va天堂| 福利91精品一区二区三区| 国产91高潮流白浆在线麻豆| 国产成人精品一区二区三区四区| 国产成人精品一区二| av一区二区三区四区| 9i在线看片成人免费| 成人av电影在线播放| 色综合天天综合网国产成人综合天| 一本大道久久a久久精品综合| 欧美亚洲禁片免费| 91精品国产综合久久小美女| 精品久久久久久久久久久久久久久久久 | 国产精品一区一区三区| 国产成人综合网站| 91在线看国产| 欧美日韩国产免费一区二区| 日韩视频永久免费| 中文字幕第一区综合| 一区二区三区高清在线| 丝袜诱惑亚洲看片| 国内精品视频一区二区三区八戒| 成人免费看的视频| 欧美午夜精品免费| 欧美v国产在线一区二区三区| 国产女人18毛片水真多成人如厕 | 精品一区二区三区免费毛片爱| 国产一区二区三区久久久| 99精品视频一区| 欧美顶级少妇做爰| 中文在线一区二区| 亚洲成人动漫在线免费观看| 久久99精品国产.久久久久久| 成人午夜视频网站| 欧美一区二区在线免费播放 | 国产精品无圣光一区二区| 精品无人区卡一卡二卡三乱码免费卡| 国产成人aaa| 欧美乱熟臀69xxxxxx| 亚洲国产精华液网站w| 天天影视涩香欲综合网| 不卡在线视频中文字幕| 欧美一区二区三区小说| 亚洲人亚洲人成电影网站色| 蜜乳av一区二区三区| 91一区二区三区在线播放| 日韩欧美国产wwwww| 亚洲自拍偷拍九九九| 国产成人高清在线| 欧美狂野另类xxxxoooo| 中文一区在线播放| 日本午夜一区二区| 在线观看一区日韩| 日本一区二区免费在线观看视频| 亚洲成人av中文| www.在线欧美| 久久精品一区八戒影视| 婷婷丁香久久五月婷婷| 成人黄色小视频| 2020国产精品久久精品美国| 午夜欧美在线一二页| 91女厕偷拍女厕偷拍高清| 久久精品免视看| 美女高潮久久久| 欧美另类久久久品| 亚洲一区中文在线| 91香蕉视频污| 国产欧美精品日韩区二区麻豆天美| 免费观看成人鲁鲁鲁鲁鲁视频| 欧美在线观看视频一区二区| 亚洲欧洲精品一区二区精品久久久 | 日韩一级片网站| 亚洲成人免费影院| 色哟哟欧美精品| 国产精品久久久久久久久快鸭 | 国产精品亚洲一区二区三区在线 | 国产综合成人久久大片91| 91精品国产综合久久久蜜臀粉嫩| 亚洲一区二区高清| 欧美精品色综合| 亚洲第一精品在线| 欧美图区在线视频| 亚洲综合免费观看高清完整版在线| 91在线云播放| 一区二区三区中文字幕| 一本色道久久综合亚洲精品按摩| 亚洲欧美在线aaa| 91免费国产在线| 综合av第一页| 色婷婷综合久久久中文一区二区 | 欧美一区二区免费视频| 肉色丝袜一区二区| 欧美一区永久视频免费观看| 日韩高清不卡一区二区三区| 在线不卡欧美精品一区二区三区| 日韩在线一区二区| 欧美电影免费观看高清完整版在线 | 日韩欧美国产小视频| 男人的天堂亚洲一区| 欧美电影免费观看高清完整版在线 | 菠萝蜜视频在线观看一区| 国产精品福利影院| 91在线视频免费91| 欧美午夜理伦三级在线观看| 午夜视黄欧洲亚洲| 欧美大片顶级少妇| 国产精品99久久久久久宅男| 中文幕一区二区三区久久蜜桃| 不卡的电视剧免费网站有什么| 亚洲精品午夜久久久| 欧美精品在线视频| 国产在线精品视频| 中文字幕一区二区三区四区| 日本丶国产丶欧美色综合| 同产精品九九九| 精品久久久久久久久久久院品网| 国产精品77777| 亚洲视频在线观看三级| 欧美日韩高清一区二区| 国产综合久久久久影院| 中文字幕亚洲欧美在线不卡| 欧美在线999| 国精产品一区一区三区mba桃花| 亚洲国产激情av| 欧美日韩亚洲综合在线| 国产一区二区三区电影在线观看| 中文字幕一区二区视频| 欧美日韩免费电影| 激情另类小说区图片区视频区| 亚洲国产激情av| 欧美男人的天堂一二区| 国产成人亚洲综合a∨婷婷| 一级特黄大欧美久久久| 欧美v亚洲v综合ⅴ国产v| av电影在线观看一区| 日日摸夜夜添夜夜添亚洲女人| 国产亚洲欧美在线| 欧美亚洲另类激情小说| 国产一区二区三区免费播放| 亚洲激情av在线| 26uuu精品一区二区在线观看| av不卡免费在线观看| 日本不卡免费在线视频| 中文字幕av一区二区三区高| 欧美伦理视频网站| 972aa.com艺术欧美| 极品美女销魂一区二区三区| 亚洲最大的成人av| 欧美国产亚洲另类动漫| 这里只有精品99re| 色综合久久久久综合99| 国产剧情一区二区三区| 天天操天天综合网| 亚洲精品中文字幕乱码三区| 久久久亚洲精华液精华液精华液| 欧美日韩情趣电影| 色综合一区二区| 成人一区二区三区视频 | 天天免费综合色|