|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
ÀÌÀü Ŭ·¡½º ´ÙÀ½ Ŭ·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
°³¿ä: NESTED | Çʵå | »ý¼ºÀÚ | ¸Þ¼µå | »ó¼¼: Çʵå | »ý¼ºÀÚ | ¸Þ¼µå |
public interface TargetDataLine
Ÿ°Ù µ¥ÀÌÅÍ ¶óÀÎÀº ¿Àµð¿À µ¥ÀÌÅ͸¦ °Å±â·ÎºÎÅÍ ÀоîµéÀÏ ¼ö Àִ ŸÀÔ
ÀÔ´Ï´Ù. ¹«¾ùº¸´Ù ÀϹÝÀûÀÎ ¿¹´Â µ¥ÀÌÅ͸¦ ¿Àµð¿À capther µð¹ÙÀ̽º·ÎºÎÅÍ ¾ò´Â µ¥ÀÌÅÍ ¶óÀÎÀÔ´Ï´Ù. µð¹ÙÀ̽º´Â Ÿ°Ù µ¥ÀÌÅÍ ¶óÀο¡ Ãâ·ÂÇÏ´Â ¹Í¼·Î¼ ±¸ÇöµË´Ï´Ù.
DataLine
ÀÌ ÀÎÅÍÆäÀ̽ºÀÇ ¸í¸í ±ÔÄ¢Àº ¶óÀΰú ¹Í¼ÀÇ °ü°è¸¦ ¹Ý¿µÇϰí ÀÖ½À´Ï´Ù. ¾îÇø®ÄÉÀ̼ÇÀ¸·ÎºÎÅÍ º¸¸é, Ÿ°Ù µ¥ÀÌÅÍ ¶óÀÎÀº ¿Àµð¿À µ¥ÀÌÅÍÀÇ ¼Ò½ºÀÇ ¿ªÇÒÀ» ÇÕ´Ï´Ù.
Ÿ°Ù µ¥ÀÌÅÍ ¶óÀÎÀ» ¹Í¼·ÎºÎÅÍ ÃëµæÇÏ·Á¸é,
ÀûÀýÇÑ
°´Ã¼¸¦ ÁöÁ¤ÇØ DataLine.Info
Mixer
¸Þ¼µå¸¦ È£ÃâÇÕ´Ï´Ù.
getLine
TargetDataLine
ÀÎÅÍÆäÀ̽º´Â Ÿ°Ù µ¥ÀÌÅÍ ¶óÀÎÀÇ ¹öÆÛ·ÎºÎÅÍ ÃëµæÇÑ µ¥ÀÌÅ͸¦ ÀоîµéÀÌ´Â ¸Þ¼µå¸¦ Á¦°øÇÕ´Ï´Ù. ¿Àµð¿À¸¦ ³ìÀ½ÇÏ´Â ¾îÇø®ÄÉÀ̼ÇÀº ¹öÆÛ°¡ ¿À¹öÇ÷οì ÇÏÁö ¾Ê°Ô Ÿ°Ù µ¥ÀÌÅÍ ¶óÀÎÀ¸·ÎºÎÅÍ µ¥ÀÌÅ͸¦ Àçºü¸£°Ô ÀоîµéÀÔ´Ï´Ù. ¿À¹öÇ÷οì Çϸé, ÃëµæÇÑ µ¥ÀÌÅÍ¿¡ ºÒ¿¬¼ÓºÎ°¡ »ý°Ü, Ŭ¸¯¼Ò¸®°¡ µé¸®´Â ÀÏÀÌ ÀÖ½À´Ï´Ù. ¾îÇø®ÄÉÀ̼ǿ¡¼´Â DataLine
ÀÎÅÍÆäÀ̽º·Î Á¤Àǵǰí ÀÖ´Â
¸Þ¼µå¸¦ »ç¿ëÇØ, µ¥ÀÌÅÍ ¶óÀÎÀÇ ¹öÆÛ·Î ÇöÀç Å¥¿¡ µé¾î°¡ ÀÖ´Â µ¥ÀÌÅÍÀÇ ¾çÀ» ÆÇº°ÇÒ ¼ö ÀÖ½À´Ï´Ù
. ¹öÆÛ°¡ ¿À¹öÇ÷ο츦 ÀÏÀ¸Ä×À» °æ¿ì, Å¥¿¡ µé¾î°¡ ÀÖ´Â °¡Àå ³°Àº µ¥ÀÌÅͰ¡ ÆÄ±âµÇ¾î »õ·Î¿î µ¥ÀÌÅÍ·Î ¿Å°ÜÁý´Ï´Ù.
available
Mixer
,
DataLine
,
SourceDataLine
Áßø(Nested) Ŭ·¡½º °³¿ä |
---|
ÀÎÅÍÆäÀ̽º javax.sound.sampled. DataLine ·ÎºÎÅÍ »ó¼ÓµÈ Áßø(Nested) Ŭ·¡½º/ÀÎÅÍÆäÀ̽º |
---|
DataLine.Info |
¸Þ¼µå °³¿ä | |
---|---|
void |
open (AudioFormat format)
ÁöÁ¤µÈ Çü½Ä¿¡¼ ¶óÀÎÀ» ¿¾î, ¶óÀÎÀÌ ÇÊ¿äÇÑ system resource¸¦ ȹµæÇØ Á¶ÀÛ °¡´ÉÇÏ°Ô µÇµµ·Ï ÇÕ´Ï´Ù. |
void |
open (AudioFormat format,
int bufferSize)
ÁöÁ¤µÈ Æ÷¸Ë°ú ÁöÁ¤µÈ ¹öÆÛ »çÀÌÁî·Î ¶óÀÎÀ» ¿¾î, ¶óÀÎÀÌ ÇÊ¿äÇÑ system resource¸¦ ȹµæÇØ Á¶ÀÛ °¡´ÉÇÏ°Ô µÇµµ·Ï ÇÕ´Ï´Ù. |
int |
read (byte[] b,
int off,
int len)
µ¥ÀÌÅÍ ¶óÀÎÀÇ ÀÔ·Â ¹öÆÛ·ÎºÎÅÍ ¿Àµð¿À µ¥ÀÌÅ͸¦ ÀоîµéÀÔ´Ï´Ù. |
ÀÎÅÍÆäÀ̽º javax.sound.sampled. DataLine ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼µå |
---|
available,
drain,
flush,
getBufferSize,
getFormat,
getFramePosition,
getLevel,
getLongFramePosition,
getMicrosecondPosition,
isActive,
isRunning,
start,
stop |
ÀÎÅÍÆäÀ̽º javax.sound.sampled. Line ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼µå |
---|
addLineListener,
close,
getControl,
getControls,
getLineInfo,
isControlSupported,
isOpen,
open,
removeLineListener |
¸Þ¼µåÀÇ »ó¼¼ |
---|
void open(AudioFormat format, int bufferSize) throws LineUnavailableException
¹öÆÛ »çÀÌÁî´Â ¹ÙÀÌÆ® ´ÜÀ§·Î ÁöÁ¤ÇÕ´Ï´Ù¸¸, »ùÇà frame sizeÀÇ ¹è¼öÀÎ °ÍÀÌ ÇÊ¿äÇÕ´Ï´Ù. ÀÌ ¿ä°Ç¿¡ ÀûÇÕÇÏÁö ¾Ê´Â ¹öÆÛ »çÀÌÁ ÁöÁ¤ÇØ ÀÌ ¸Þ¼µå¸¦ È£ÃâÇϸé, IllegalArgumentException°¡ ¹ß»ýµÇ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù. ¿¬ ¶óÀÎÀÇ ½ÇÁ¦ÀÇ ¹öÆÛ »çÀÌÁî´Â ÁöÁ¤ÇÑ ¹öÆÛ »çÀÌÁî¿Í´Â ´Ù¸¥ ÀÏÀÌ ÀÖ½À´Ï´Ù. ½ÇÁ¦·Î ¼³Á¤µÈ °ªÀº °è¼ÓµÇ¾î
¸¦ È£ÃâÇϸé Á¶È¸ÇÒ ¼ö ÀÖ½À´Ï´Ù.
DataLine.getBufferSize()
ÀÌ Á¶ÀÛÀÌ ¼º°øÇϸé, ¶óÀÎÀº ¿·Á ÀÖ´Â »óÅ·μ ¸¶Å© µÇ¾î
À̺¥Æ®°¡ ¶óÀÎÀÇ ¸®½º³Ê¿¡°Ô µð½ºÆÐÄ¡ µË´Ï´Ù.
OPEN
À̹Ì
¿·Á ÀÖ´Â ¶óÀÎÀ¸·Î ÀÌ ¸Þ¼µå¸¦ È£ÃâÇÏ´Â °ÍÀº ¹«È¿À̸ç, IllegalStateException
°¡ ¹ß»ýµÇ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù.
¶óÀο¡ µû¶ó¼´Â ÇÑ ¹ø ´ÝÀ¸¸é ÀçÂ÷ ¿Áö ¾Ê´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ¶óÀÎÀ» ÀçÂ÷ ¿·Á°í Çϸé, Ç×»ó LineUnavailableException
°¡ Ç¥½ÃµË´Ï´Ù.
format
- ¼³Á¤ÇÏ°í ½ÍÀº ¿Àµð¿À Çü½ÄbufferSize
- ¼³Á¤ÇÏ°í ½ÍÀº ¹öÆÛ »çÀÌÁî, ¹ÙÀÌÆ® ´ÜÀ§
LineUnavailableException
- ÀÚ¿øÀÇ Á¦¾àÀ» À§Çؼ ¶óÀÎÀ» ¿Áö ¾Ê´Â °æ¿ì
IllegalArgumentException
- ¹öÆÛ »çÀÌÁî°¡ »ùÇà frame sizeÀÇ ¹è¼ö°¡ ¾Æ´Ñ °æ¿ì, ȤÀº format
ÁöÁ¤ÀÌ ºÒ¿ÏÀü ¶Ç´Â ¹«È¿ÀÎ °æ¿ì
IllegalStateException
- ¶óÀÎÀÌ À̹Ì
¿·Á ÀÖ´Â °æ¿ì
SecurityException
- º¸¾È»óÀÇ Á¦¾àÀ» À§Çؼ ¶óÀÎÀ» ¿Áö ¾Ê´Â °æ¿ìopen(AudioFormat)
,
Line.open()
,
Line.close()
,
Line.isOpen()
,
LineEvent
void open(AudioFormat format) throws LineUnavailableException
¹öÆÛ »çÀÌÁî´Â ±¸Çö¿¡ ÀÇÇØ ¼±Åõ˴ϴÙ. ¹öÆÛ »çÀÌÁî´Â ¹ÙÀÌÆ® ´ÜÀ§ÀÔ´Ï´Ù¸¸, »ùÇà frame sizeÀÇ ¹è¼öÀÎ °ÍÀÌ ÇÊ¿äÇÕ´Ï´Ù. ½Ã½ºÅÛÀÌ ¼±ÅÃÇÑ ¹öÆÛ »çÀÌÁî´Â °è¼ÓµÇ¾î
¸¦ È£ÃâÇϸé Á¶È¸ÇÒ ¼ö ÀÖ½À´Ï´Ù.
DataLine.getBufferSize()
ÀÌ Á¶ÀÛÀÌ ¼º°øÇϸé, ¶óÀÎÀº ¿·Á ÀÖ´Â »óÅ·μ ¸¶Å© µÇ¾î
À̺¥Æ®°¡ ¶óÀÎÀÇ ¸®½º³Ê¿¡°Ô µð½ºÆÐÄ¡ µË´Ï´Ù.
OPEN
À̹Ì
¿·Á ÀÖ´Â ¶óÀÎÀ¸·Î ÀÌ ¸Þ¼µå¸¦ È£ÃâÇÏ´Â °ÍÀº ¹«È¿À̸ç, IllegalStateException
°¡ ¹ß»ýµÇ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù.
¶óÀο¡ µû¶ó¼´Â ÇÑ ¹ø ´ÝÀ¸¸é ÀçÂ÷ ¿Áö ¾Ê´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ¶óÀÎÀ» ÀçÂ÷ ¿·Á°í Çϸé, Ç×»ó LineUnavailableException
°¡ Ç¥½ÃµË´Ï´Ù.
format
- ¼³Á¤ÇÏ°í ½ÍÀº ¿Àµð¿À Çü½Ä
LineUnavailableException
- ÀÚ¿øÀÇ Á¦¾àÀ» À§Çؼ ¶óÀÎÀ» ¿Áö ¾Ê´Â °æ¿ì
IllegalArgumentException
- format
ÁöÁ¤ÀÌ ºÒ¿ÏÀü ¶Ç´Â ¹«È¿ÀÎ °æ¿ì
IllegalStateException
- ¶óÀÎÀÌ À̹Ì
¿·Á ÀÖ´Â °æ¿ì
SecurityException
- º¸¾È»óÀÇ Á¦¾àÀ» À§Çؼ ¶óÀÎÀ» ¿Áö ¾Ê´Â °æ¿ìopen(AudioFormat, int)
,
Line.open()
,
Line.close()
,
Line.isOpen()
,
LineEvent
int read(byte[] b, int off, int len)
ºí·Ï µÇÁö ¾Ê°í ÀоîµéÀÏ ¼ö ÀÖ´Â ¹ÙÀÌÆ®¼ö´Â DataLine
ÀÎÅÍÆäÀ̽ºÀÇ
¸Þ¼µå¸¦ »ç¿ëÇØ È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¹ÙÀÌÆ®¼ö´Â ºí·Ï µÇÁö ¾Ê°í È®½ÇÈ÷ ÀоîµéÀÏ ¼ö ÀÖ½À´Ï´Ù¸¸, Ãß°¡ µ¥ÀÌÅ͸¦ ÀоîµéÀÌ·Á°í ÇßÀ» ¶§¿¡ ºí·Ï µÉÁö ¾î¶³Áö´Â È®½ÇÇÏÁö´Â ¾Ê½À´Ï´Ù.
available
ÀоîµéÀÌ´Â ¹ÙÀÌÆ®¼ö´Â »ùÇà frame sizeÀÇ ¹è¼öÀÎ °ÍÀÌ ÇÊ¿äÇÕ´Ï´Ù. Áï, ´ÙÀ½ÀÇ Á¶°ÇÀ» ä¿ì°í ÀÖÀ» Çʿ䰡 ÀÖ½À´Ï´Ù.
[ÀÐÈ÷´Â ¹ÙÀÌÆ®¼ö] % [frame sizeÀÇ ¹ÙÀÌÆ®¼ö] == 0
b
- ÀÌ ¸Þ¼µå°¡ µ¹¾Æ¿Ã ¶§ ¿ä±¸µÈ ÀÔ·Â µ¥ÀÌÅ͸¦ Æ÷ÇÔÇϰí ÀÖ´Â ¹ÙÀÌÆ® ¹è¿off
- ¹è¿ÀÇ ¼±µÎ·ÎºÎÅÍÀÇ ¿ÀÇÁ¼Â(offset), ¹ÙÀÌÆ® ´ÜÀ§len
- read°¡ ¿ä±¸µÈ ¹ÙÀÌÆ®¼ö
IllegalArgumentException
- ¿ä±¸µÈ ¹ÙÀÌÆ®¼ö°¡ »ùÇà frame sizeÀÇ ¹è¼ö°¡ ¾Æ´Ñ °æ¿ì, ¶Ç´Â len
°¡ ºÎÀÇ °æ¿ì
ArrayIndexOutOfBoundsException
- off
°¡ ºÎÀÇ °æ¿ì, ¶Ç´Â off+len
°¡ ¹è¿ b
±æÀ̺¸´Ù Å« °æ¿ìSourceDataLine.write(byte[], int, int)
,
DataLine.available()
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
ÀÌÀü Ŭ·¡½º ´ÙÀ½ Ŭ·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
°³¿ä: NESTED | Çʵå | »ý¼ºÀÚ | ¸Þ¼µå | »ó¼¼: Çʵå | »ý¼ºÀÚ | ¸Þ¼µå |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy µµ ÂüÁ¶ÇϽʽÿÀ.