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

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

?? rateconvertertest.java

?? FMJ(freedom media for java)是java視頻開發的新選擇
?? JAVA
字號:
package net.sf.fmj.media.codec.audio;import javax.media.Buffer;import javax.media.Codec;import javax.media.Format;import javax.media.format.AudioFormat;import junit.framework.TestCase;import net.sf.fmj.codegen.MediaCGUtils;/** *  * @author Ken Larson * */public class RateConverterTest extends TestCase {	/** test non-changing conversion, 8-bit signed */	public void test1()	{		for (int i = 0; i < 256; ++i)		{			byte[] inputBufferData = new byte[] {(byte) i};			test(	new AudioFormat(AudioFormat.LINEAR, 4000.0, 8, 1, -1, AudioFormat.SIGNED, 8, 4000.0, Format.byteArray),					new AudioFormat(AudioFormat.LINEAR, 4000.0, 8, 1, -1, AudioFormat.SIGNED, 8, 4000.0, Format.byteArray),					inputBufferData,					inputBufferData					);		}	}	/** test non-changing conversion, 8-bit signed */	public void test2()	{		for (int i = 0; i < 256; ++i)		{			byte[] inputBufferData = new byte[] {0, (byte) i};			test(	new AudioFormat(AudioFormat.LINEAR, 4000.0, 8, 1, -1, AudioFormat.SIGNED, 8, 4000.0, Format.byteArray),					new AudioFormat(AudioFormat.LINEAR, 4000.0, 8, 1, -1, AudioFormat.SIGNED, 8, 4000.0, Format.byteArray),					inputBufferData,					inputBufferData					);		}	}	final int[] endianValues = new int[] {AudioFormat.BIG_ENDIAN, AudioFormat.LITTLE_ENDIAN};	final int[] signedValues = new int[] {AudioFormat.SIGNED, AudioFormat.UNSIGNED};	/** Test non-changing conversion, 16-bit, iterate through endian, signed. */	public void test3()	{		for (int i = 0; i < 256; ++i)		{			final byte[] inputBufferData = new byte[] {0, (byte) i, (byte) i, 0};			for (int k = 0; k < endianValues.length; ++k)			{				final int endian = endianValues[k];				for (int m = 0; m < signedValues.length; ++m)				{					final int signed = signedValues[m];										test(	new AudioFormat(AudioFormat.LINEAR, 4000.0, 16, 1, endian, signed, 16, 4000.0, Format.byteArray),							new AudioFormat(AudioFormat.LINEAR, 4000.0, 16, 1, endian, signed, 16, 4000.0, Format.byteArray),							inputBufferData,							inputBufferData							);				}			}		}	}	/** Test non-changing conversion, iterate through sample sizes, endian, signed. */	public void test4()	{		final int[] sampleSizesInBits = new int[] {8, 16};		for (int i = 0; i < 256; ++i)		{			final byte[] inputBufferData = new byte[] {0, (byte) i, 0, (byte) i};			for (int j = 0; j < sampleSizesInBits.length; ++j)			{				final int sampleSizeInBits = sampleSizesInBits[j];				for (int k = 0; k < endianValues.length; ++k)				{					final int endian = endianValues[k];					for (int m = 0; m < signedValues.length; ++m)					{						final int signed = signedValues[m];											test(new AudioFormat(AudioFormat.LINEAR, 4000.0, sampleSizeInBits, 1, endian, signed, sampleSizeInBits, 4000.0, Format.byteArray),							new AudioFormat(AudioFormat.LINEAR, 4000.0, sampleSizeInBits, 1, endian, signed, sampleSizeInBits, 4000.0, Format.byteArray),							inputBufferData,							inputBufferData							);					}				}			}		}	}		/** Test converting 16-bit to 8-bit, vary endian-ness */	public void test5()	{		for (int i = 0; i < 256; ++i)		{			final byte[] inputBufferData = new byte[] {0, (byte) i, (byte) i, 0};			for (int k = 0; k < endianValues.length; ++k)			{				final int endian = endianValues[k];				final byte[] outputBufferTargetData;				if (endian == AudioFormat.LITTLE_ENDIAN)					outputBufferTargetData = new byte[] {(byte) i, 0};				else					outputBufferTargetData = new byte[] {0, (byte) i};									for (int m = 0; m < signedValues.length; ++m)				{					final int signed = signedValues[m];										test(	new AudioFormat(AudioFormat.LINEAR, 4000.0, 16, 1, endian, signed, 16, 4000.0, Format.byteArray),							new AudioFormat(AudioFormat.LINEAR, 4000.0, 8, 1, endian, signed, 8, 4000.0, Format.byteArray),							inputBufferData,							outputBufferTargetData							);				}			}		}	}	/** Test conversion of 8-bit to 16-bit, iterate through endian. */	public void test6()	{		for (int i = 0; i < 256; ++i)		{			final byte[] inputBufferData = new byte[] {(byte) i, 0};			for (int k = 0; k < endianValues.length; ++k)			{				final int endian = endianValues[k];				final byte[] outputBufferTargetData;				if (endian == AudioFormat.BIG_ENDIAN)					outputBufferTargetData = new byte[] {(byte) i, 0, 0, 0};				else					outputBufferTargetData = new byte[] {0, (byte) i, 0, 0};									for (int m = 0; m < signedValues.length; ++m)				{					final int signed = signedValues[m];										test(	new AudioFormat(AudioFormat.LINEAR, 4000.0, 8, 1, endian, signed, 8, 4000.0, Format.byteArray),							new AudioFormat(AudioFormat.LINEAR, 4000.0, 16, 1, endian, signed, 16, 4000.0, Format.byteArray),							inputBufferData,							outputBufferTargetData							);				}			}		}	}			// TODO: test sample rate conversion	/** Test sample rate conversion - halving */	public void test7()	{		for (int i = 0; i < 256; ++i)		{			byte[] inputBufferData = new byte[] {(byte) i, (byte) i, 0, 2};			byte[] targetOutputBufferData = new byte[] {(byte) i, 1};			test(	new AudioFormat(AudioFormat.LINEAR, 8000.0, 8, 1, -1, AudioFormat.SIGNED, 8, 8000.0, Format.byteArray),					new AudioFormat(AudioFormat.LINEAR, 4000.0, 8, 1, -1, AudioFormat.SIGNED, 8, 4000.0, Format.byteArray),					inputBufferData,					targetOutputBufferData					);		}	}	/** Test sample rate conversion - doubling */	public void test8()	{		for (int i = 0; i < 256; ++i)		{			byte[] inputBufferData = new byte[] {(byte) i, 0, 2};			byte[] targetOutputBufferData = new byte[] {(byte) i, (byte) i, 0, 0, 2, 2};			test(	new AudioFormat(AudioFormat.LINEAR, 4000.0, 8, 1, -1, AudioFormat.SIGNED, 8, 4000.0, Format.byteArray),					new AudioFormat(AudioFormat.LINEAR, 8000.0, 8, 1, -1, AudioFormat.SIGNED, 8, 8000.0, Format.byteArray),					inputBufferData,					targetOutputBufferData					);		}	}	/** Test sample rate conversion - 3:2 */	public void test9()	{		{			byte[] inputBufferData = new byte[] {2, 4, 6, 8, 10, 12};			byte[] targetOutputBufferData = new byte[] {3, 5, 9, 11};			// (2 + (4/2)) / 1.5 = 2.67 = 3 rounded			// ((4/2) + 6) / 1.5 = 5.33 = 5 rounded			// (8 + (10/2)) / 1.5 = 8.67 = 9 rounded			// (10/2) + 12 / 1.5 = 11.33 = 11 rounded						test(	new AudioFormat(AudioFormat.LINEAR, 3000.0, 8, 1, -1, AudioFormat.SIGNED, 8, 3000.0, Format.byteArray),					new AudioFormat(AudioFormat.LINEAR, 2000.0, 8, 1, -1, AudioFormat.SIGNED, 8, 2000.0, Format.byteArray),					inputBufferData,					targetOutputBufferData					);		}	}	/** Test sample rate conversion - 3:2 */	public void test10()	{		{			byte[] inputBufferData = new byte[] {2, 4, 6, 8, 10, 12, 14};			byte[] targetOutputBufferData = new byte[] {3, 5, 9, 11};			// (2 + (4/2)) / 1.5 = 2.67 = 3 rounded			// ((4/2) + 6) / 1.5 = 5.33 = 5 rounded			// (8 + (10/2)) / 1.5 = 8.67 = 9 rounded			// (10/2) + 12 / 1.5 = 11.33 = 11 rounded						test(	new AudioFormat(AudioFormat.LINEAR, 3000.0, 8, 1, -1, AudioFormat.SIGNED, 8, 3000.0, Format.byteArray),					new AudioFormat(AudioFormat.LINEAR, 2000.0, 8, 1, -1, AudioFormat.SIGNED, 8, 2000.0, Format.byteArray),					inputBufferData,					targetOutputBufferData					);		}	}	/** Test sample rate conversion - 3:2 */	public void test11()	{		{			byte[] inputBufferData = new byte[] {2, 4, 6, 8, 10, 12, 14, 16};			byte[] targetOutputBufferData = new byte[] {3, 5, 9, 11, 15};						// (2 + (4/2)) / 1.5 = 2.67 = 3 rounded			// ((4/2) + 6) / 1.5 = 5.33 = 5 rounded			// (8 + (10/2)) / 1.5 = 8.67 = 9 rounded			// (10/2) + 12 / 1.5 = 11.33 = 11 rounded			// (14 * (16/2)) / 1.5 = 14.67 = 15 rounded			test(	new AudioFormat(AudioFormat.LINEAR, 3000.0, 8, 1, -1, AudioFormat.SIGNED, 8, 3000.0, Format.byteArray),					new AudioFormat(AudioFormat.LINEAR, 2000.0, 8, 1, -1, AudioFormat.SIGNED, 8, 2000.0, Format.byteArray),					inputBufferData,					targetOutputBufferData					);		}	}		/** Test sample rate conversion - 2:3 */	public void test12()	{		{			byte[] inputBufferData = new byte[] {2, 4};			byte[] targetOutputBufferData = new byte[] {2, 3, 4};			test(	new AudioFormat(AudioFormat.LINEAR, 2000.0, 8, 1, -1, AudioFormat.SIGNED, 8, 2000.0, Format.byteArray),					new AudioFormat(AudioFormat.LINEAR, 3000.0, 8, 1, -1, AudioFormat.SIGNED, 8, 3000.0, Format.byteArray),					inputBufferData,					targetOutputBufferData					);		}	}			/** Test sample rate conversion - 2:3 */	public void test13()	{		{			byte[] inputBufferData = new byte[] {2, 4, 6};			byte[] targetOutputBufferData = new byte[] {2, 3, 4, 6};			test(	new AudioFormat(AudioFormat.LINEAR, 2000.0, 8, 1, -1, AudioFormat.SIGNED, 8, 2000.0, Format.byteArray),					new AudioFormat(AudioFormat.LINEAR, 3000.0, 8, 1, -1, AudioFormat.SIGNED, 8, 3000.0, Format.byteArray),					inputBufferData,					targetOutputBufferData					);		}	}			/** Test sample rate conversion - 2:3 */	public void test14()	{		{			byte[] inputBufferData = new byte[] {2, 4, 6, 8};			byte[] targetOutputBufferData = new byte[] {2, 3, 4, 6, 7, 8};			test(	new AudioFormat(AudioFormat.LINEAR, 2000.0, 8, 1, -1, AudioFormat.SIGNED, 8, 2000.0, Format.byteArray),					new AudioFormat(AudioFormat.LINEAR, 3000.0, 8, 1, -1, AudioFormat.SIGNED, 8, 3000.0, Format.byteArray),					inputBufferData,					targetOutputBufferData					);		}	}			/** Test sample rate conversion - 3:5 */	public void test14_5()	{		{			byte[] inputBufferData = new byte[] {2, 4, 6};			byte[] targetOutputBufferData = new byte[] {2, 3, 4, 5, 6};			test(	new AudioFormat(AudioFormat.LINEAR, 3000.0, 8, 1, -1, AudioFormat.SIGNED, 8, 2000.0, Format.byteArray),					new AudioFormat(AudioFormat.LINEAR, 5000.0, 8, 1, -1, AudioFormat.SIGNED, 8, 3000.0, Format.byteArray),					inputBufferData,					targetOutputBufferData					);		}	}		/** Test mono to stereo */	public void test15()	{		{			byte[] inputBufferData = new byte[] {2, 4, 6, 8};			byte[] targetOutputBufferData = new byte[] {2, 2, 4, 4, 6, 6, 8, 8};			test(	new AudioFormat(AudioFormat.LINEAR, 4000.0, 8, 1, -1, AudioFormat.SIGNED, 8, 4000.0, Format.byteArray),					new AudioFormat(AudioFormat.LINEAR, 4000.0, 8, 2, -1, AudioFormat.SIGNED, 16, 4000.0, Format.byteArray),					inputBufferData,					targetOutputBufferData					);		}	}				/** Test stereo to mono */	public void test16()	{		{			byte[] inputBufferData = new byte[] {2, 4, 6, 8};			byte[] targetOutputBufferData = new byte[] {2, 6};			test(	new AudioFormat(AudioFormat.LINEAR, 4000.0, 8, 2, -1, AudioFormat.SIGNED, 16, 4000.0, Format.byteArray),					new AudioFormat(AudioFormat.LINEAR, 4000.0, 8, 1, -1, AudioFormat.SIGNED, 8, 4000.0, Format.byteArray),					inputBufferData,					targetOutputBufferData					);		}	}				/** Test unsigned to signed */	public void test17()	{		{			byte[] inputBufferData = new byte[] {0, 127, (byte) 128, (byte) 129, (byte) 255};			byte[] targetOutputBufferData = new byte[] {-128, -1, 0, 1, 127};						test(	new AudioFormat(AudioFormat.LINEAR, 4000.0, 8, 1, -1, AudioFormat.UNSIGNED, 8, 4000.0, Format.byteArray),					new AudioFormat(AudioFormat.LINEAR, 4000.0, 8, 1, -1, AudioFormat.SIGNED, 8, 4000.0, Format.byteArray),					inputBufferData,					targetOutputBufferData					);		}	}			/** Test signed to unsigned */	public void test18()	{		{			byte[] inputBufferData = new byte[] {-128, -1, 0, 1, 127};			byte[] targetOutputBufferData = new byte[] {0, 127, (byte) 128, (byte) 129, (byte) 255};			test(	new AudioFormat(AudioFormat.LINEAR, 4000.0, 8, 1, -1, AudioFormat.SIGNED, 8, 4000.0, Format.byteArray),					new AudioFormat(AudioFormat.LINEAR, 4000.0, 8, 1, -1, AudioFormat.UNSIGNED, 8, 4000.0, Format.byteArray),					inputBufferData,					targetOutputBufferData					);		}	}			void test(Format inputFormat, Format outputFormat, byte[] inputBufferData, byte[] targetOutputBufferData)	{		RateConverter c = new RateConverter();		c.setInputFormat(inputFormat);		c.setOutputFormat(outputFormat);		c.open();		Buffer b = new Buffer();		b.setFormat(inputFormat);		b.setData(inputBufferData);		b.setOffset(0);		b.setLength(inputBufferData.length);		Buffer outputBuffer = new Buffer();				assertEquals(c.process(b, outputBuffer), Codec.BUFFER_PROCESSED_OK);				assertEquals(outputBuffer.getOffset(), 0);		byte[] outputBufferData = (byte[]) outputBuffer.getData();				if (outputBuffer.getLength() != targetOutputBufferData.length)		{	System.out.print("output:");			dump(outputBufferData, outputBuffer.getLength());			System.out.print("target:");			dump(targetOutputBufferData, targetOutputBufferData.length);		}		assertEquals(outputBuffer.getLength(), targetOutputBufferData.length);		assertEquals(outputBuffer.getFlags(), 0);		assertEquals(outputBuffer.getFormat(), outputFormat);						boolean eq = true;		for (int i = 0; i < outputBuffer.getLength(); ++i)		{	if (outputBufferData[i] != targetOutputBufferData[i])			{	eq = false;				break;			}		}				if (!eq)		{			Buffer bClone = (Buffer) outputBuffer.clone();			bClone.setData(targetOutputBufferData);			System.err.println("Target: " + MediaCGUtils.bufferToStr(bClone));			System.err.println("Actual: " + MediaCGUtils.bufferToStr(outputBuffer));		}				for (int i = 0; i < outputBuffer.getLength(); ++i)		{				if (outputBufferData[i] != targetOutputBufferData[i])			{	System.out.print("output:");				dump(outputBufferData, outputBuffer.getLength());				System.out.print("target:");				dump(targetOutputBufferData, targetOutputBufferData.length);			}			assertEquals(outputBufferData[i], targetOutputBufferData[i]);		}							c.close();			}		private void dump(byte[] data, int len)	{			for (int i = 0; i < len; ++i)		{	if (i > 0)				System.out.print(", ");			System.out.print(data[i]);		}		System.out.println();	}}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美激情中文不卡| 精品毛片乱码1区2区3区| 一区二区欧美精品| 色播五月激情综合网| 一区二区在线免费| 在线成人免费观看| 国产欧美日韩麻豆91| 日韩激情av在线| 日韩女优视频免费观看| 日韩黄色免费电影| 精品成人在线观看| 成人av电影在线| 一区二区三区四区中文字幕| 欧美日韩免费在线视频| 久久国产夜色精品鲁鲁99| 国产三级欧美三级| 99国产精品视频免费观看| 日韩在线观看一区二区| 欧美日韩午夜影院| 亚洲一二三区不卡| 欧美区一区二区三区| 国产麻豆精品视频| 亚洲精品国产精华液| 日韩免费看的电影| 色综合激情五月| 久久99精品久久久久久国产越南 | 欧美成人aa大片| 成人免费观看男女羞羞视频| 亚洲一区免费观看| ww亚洲ww在线观看国产| 色综合久久综合| 国产综合成人久久大片91| 亚洲自拍偷拍麻豆| 国产亚洲欧美日韩俺去了| 欧美在线影院一区二区| 国产精品一区在线| 五月天视频一区| 国产精品久久久久影院色老大 | 久久久综合激的五月天| 91精品福利视频| 国产精品一品视频| 日韩电影一区二区三区| 亚洲女子a中天字幕| 久久久久久久综合色一本| 欧美色图12p| 精品一区二区免费在线观看| 亚洲一区二区影院| 国产精品美女久久久久久久| 日韩欧美成人一区| 欧美丝袜自拍制服另类| 成人激情av网| 国产激情一区二区三区四区 | 欧美成人三级电影在线| 在线观看区一区二| 99视频精品在线| 国产精品小仙女| 久88久久88久久久| 日韩av电影天堂| 亚洲一级二级在线| 亚洲精品视频在线观看网站| 亚洲女同一区二区| 国产午夜亚洲精品理论片色戒| 欧美乱熟臀69xxxxxx| 色噜噜狠狠成人中文综合| 成人综合婷婷国产精品久久| 韩国av一区二区三区| 免费看日韩a级影片| 日韩二区在线观看| 日韩精品色哟哟| 日本免费在线视频不卡一不卡二| 亚洲国产综合人成综合网站| 亚洲欧美日韩久久精品| 亚洲欧美日韩一区二区| 亚洲天堂成人网| 国产精品久久久久9999吃药| 一区在线观看免费| **网站欧美大片在线观看| 中文字幕一区二区三区四区| 国产精品乱人伦| 中文字幕一区二区日韩精品绯色| 国产精品免费看片| 亚洲品质自拍视频| 亚洲精品成人精品456| 一区二区三区中文字幕| 亚洲制服丝袜一区| 亚洲国产日韩综合久久精品| 午夜精彩视频在线观看不卡| 日本不卡视频在线观看| 免费人成黄页网站在线一区二区| 精品一区二区三区影院在线午夜 | 国产丝袜美腿一区二区三区| 欧美国产精品中文字幕| 中文字幕亚洲不卡| 亚洲一二三四区不卡| 偷窥国产亚洲免费视频| 精品一区中文字幕| 丰满白嫩尤物一区二区| 99国产精品国产精品久久| 在线亚洲免费视频| 91麻豆精品国产自产在线观看一区| 日韩视频在线你懂得| 久久午夜老司机| 国产精品三级av| 亚洲va欧美va天堂v国产综合| 久久精品国产一区二区三区免费看| 精品一二线国产| 欧美老女人在线| 欧美精品一级二级三级| www国产成人| 一区二区在线观看av| 麻豆视频观看网址久久| 99久久精品国产一区| 制服.丝袜.亚洲.另类.中文| 国产亚洲欧美日韩在线一区| 亚洲一区二区三区四区五区中文| 麻豆精品精品国产自在97香蕉 | 久久精品国产亚洲高清剧情介绍 | 99久久精品国产观看| 在线播放中文字幕一区| 国产精品久久久久一区二区三区| 亚洲一级片在线观看| 国产精品1024| 9191成人精品久久| 亚洲欧美影音先锋| 美女视频网站黄色亚洲| 一本色道久久综合精品竹菊| 日韩欧美一区二区三区在线| 亚洲视频香蕉人妖| 国产毛片一区二区| 欧美日韩一区二区三区四区五区| 国产区在线观看成人精品| 日本中文字幕一区二区视频| 99精品视频中文字幕| 久久麻豆一区二区| 日韩中文字幕1| 99久久er热在这里只有精品66| 日韩一区二区三区高清免费看看 | 欧美激情一区二区三区全黄| 日韩电影在线观看网站| 91在线精品一区二区三区| 久久夜色精品国产欧美乱极品| 亚洲一区在线观看网站| 99在线精品一区二区三区| 久久久不卡网国产精品二区| 喷水一区二区三区| 欧美揉bbbbb揉bbbbb| 一区二区中文字幕在线| 国产精品一区二区男女羞羞无遮挡| 欧美电影在线免费观看| 亚洲福利一区二区三区| 99国产精品久| 亚洲欧美综合另类在线卡通| 国产精品一二三在| 精品国产污污免费网站入口| 日韩精品电影在线| 欧美视频日韩视频在线观看| 亚洲猫色日本管| 99国产精品久久| 亚洲欧美国产毛片在线| 99久久精品久久久久久清纯| 国产精品美女一区二区在线观看| 国产精品99久久久| 久久精品无码一区二区三区| 久久精品久久综合| 久久综合九色综合欧美就去吻| 日韩av在线发布| 日韩欧美一二三| 国产综合一区二区| 久久婷婷色综合| 国产精品白丝jk白祙喷水网站| 26uuu国产在线精品一区二区| 国产在线一区观看| 久久久av毛片精品| 91激情五月电影| 亚洲欧美一区二区不卡| 色噜噜久久综合| 亚欧色一区w666天堂| 日韩一级在线观看| 国产综合久久久久影院| 国产三级精品三级| k8久久久一区二区三区| 一区二区三区美女| 欧美日韩dvd在线观看| 毛片一区二区三区| 国产午夜精品美女毛片视频| 波多野结衣中文字幕一区| 亚洲精品国久久99热| 欧美日韩成人综合在线一区二区| 青青国产91久久久久久| 久久综合狠狠综合久久激情| 国产suv精品一区二区6| 亚洲精品欧美激情| 日韩视频免费观看高清在线视频| 国产成人亚洲精品狼色在线 | 99久久精品国产导航| 亚洲1区2区3区4区| 久久香蕉国产线看观看99| 91免费版在线看| 午夜在线成人av| 久久久久久**毛片大全|