JavaTM 2 Platform
Standard Ed. 5.0

javax.sound.sampled
ÀÎÅÍÆäÀ̽º TargetDataLine

¸ðµç ½´ÆÛ ÀÎÅÍÆäÀ̽º:
DataLine, Line

public interface TargetDataLine
extends DataLine

Ÿ°Ù µ¥ÀÌÅÍ ¶óÀÎÀº ¿Àµð¿À µ¥ÀÌÅ͸¦ °Å±â·ÎºÎÅÍ ÀоîµéÀÏ ¼ö Àִ ŸÀÔ DataLine ÀÔ´Ï´Ù. ¹«¾ùº¸´Ù ÀϹÝÀûÀÎ ¿¹´Â µ¥ÀÌÅ͸¦ ¿Àµð¿À capther µð¹ÙÀ̽º·ÎºÎÅÍ ¾ò´Â µ¥ÀÌÅÍ ¶óÀÎÀÔ´Ï´Ù. µð¹ÙÀ̽º´Â Ÿ°Ù µ¥ÀÌÅÍ ¶óÀο¡ Ãâ·ÂÇÏ´Â ¹Í¼­·Î¼­ ±¸ÇöµË´Ï´Ù.

ÀÌ ÀÎÅÍÆäÀ̽ºÀÇ ¸í¸í ±ÔÄ¢Àº ¶óÀΰú ¹Í¼­ÀÇ °ü°è¸¦ ¹Ý¿µÇÏ°í ÀÖ½À´Ï´Ù. ¾îÇø®ÄÉÀ̼ÇÀ¸·ÎºÎÅÍ º¸¸é, Ÿ°Ù µ¥ÀÌÅÍ ¶óÀÎÀº ¿Àµð¿À µ¥ÀÌÅÍÀÇ ¼Ò½ºÀÇ ¿ªÇÒÀ» ÇÕ´Ï´Ù.

Ÿ°Ù µ¥ÀÌÅÍ ¶óÀÎÀ» ¹Í¼­·ÎºÎÅÍ ÃëµæÇÏ·Á¸é, ÀûÀýÇÑ DataLine.Info °´Ã¼¸¦ ÁöÁ¤ÇØ Mixer getLine ¸Þ¼­µå¸¦ È£ÃâÇÕ´Ï´Ù.

TargetDataLineÀÎÅÍÆäÀ̽º´Â Ÿ°Ù µ¥ÀÌÅÍ ¶óÀÎÀÇ ¹öÆ۷κÎÅÍ ÃëµæÇÑ µ¥ÀÌÅ͸¦ ÀоîµéÀÌ´Â ¸Þ¼­µå¸¦ Á¦°øÇÕ´Ï´Ù. ¿Àµð¿À¸¦ ³ìÀ½ÇÏ´Â ¾îÇø®ÄÉÀ̼ÇÀº ¹öÆÛ°¡ ¿À¹öÇ÷οì ÇÏÁö ¾Ê°Ô Ÿ°Ù µ¥ÀÌÅÍ ¶óÀÎÀ¸·ÎºÎÅÍ µ¥ÀÌÅ͸¦ Àçºü¸£°Ô ÀоîµéÀÔ´Ï´Ù. ¿À¹öÇ÷οì Çϸé, ÃëµæÇÑ µ¥ÀÌÅÍ¿¡ ºÒ¿¬¼ÓºÎ°¡ »ý°Ü, Ŭ¸¯¼Ò¸®°¡ µé¸®´Â ÀÏÀÌ ÀÖ½À´Ï´Ù. ¾îÇø®ÄÉÀ̼ǿ¡¼­´Â DataLineÀÎÅÍÆäÀ̽º·Î Á¤Àǵǰí ÀÖ´Â available ¸Þ¼­µå¸¦ »ç¿ëÇØ, µ¥ÀÌÅÍ ¶óÀÎÀÇ ¹öÆÛ·Î ÇöÀç Å¥¿¡ µé¾î°¡ ÀÖ´Â µ¥ÀÌÅÍÀÇ ¾çÀ» ÆǺ°ÇÒ ¼ö ÀÖ½À´Ï´Ù . ¹öÆÛ°¡ ¿À¹öÇ÷ο츦 ÀÏÀ¸Ä×À» °æ¿ì, Å¥¿¡ µé¾î°¡ ÀÖ´Â °¡Àå ³°Àº µ¥ÀÌÅÍ°¡ ÆıâµÇ¾î »õ·Î¿î µ¥ÀÌÅÍ·Î ¿Å°ÜÁý´Ï´Ù.

µµÀÔµÈ ¹öÀü :
1.3
°ü·Ã Ç׸ñ:
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
 

¸Þ¼­µåÀÇ »ó¼¼

open

void open(AudioFormat  format,
          int bufferSize)
          throws LineUnavailableException 
ÁöÁ¤µÈ Æ÷¸Ë°ú ÁöÁ¤µÈ ¹öÆÛ »çÀÌÁî·Î ¶óÀÎÀ» ¿­¾î, ¶óÀÎÀÌ ÇÊ¿äÇÑ system resource¸¦ ȹµæÇØ Á¶ÀÛ °¡´ÉÇÏ°Ô µÇµµ·Ï ÇÕ´Ï´Ù.

¹öÆÛ »çÀÌÁî´Â ¹ÙÀÌÆ® ´ÜÀ§·Î ÁöÁ¤ÇÕ´Ï´Ù¸¸, »ùÇà 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

open

void open(AudioFormat  format)
          throws LineUnavailableException 
ÁöÁ¤µÈ Çü½Ä¿¡¼­ ¶óÀÎÀ» ¿­¾î, ¶óÀÎÀÌ ÇÊ¿äÇÑ system resource¸¦ ȹµæÇØ Á¶ÀÛ °¡´ÉÇÏ°Ô µÇµµ·Ï ÇÕ´Ï´Ù.

¹öÆÛ »çÀÌÁî´Â ±¸Çö¿¡ ÀÇÇØ ¼±Åõ˴ϴÙ. ¹öÆÛ »çÀÌÁî´Â ¹ÙÀÌÆ® ´ÜÀ§ÀÔ´Ï´Ù¸¸, »ùÇà frame sizeÀÇ ¹è¼öÀÎ °ÍÀÌ ÇÊ¿äÇÕ´Ï´Ù. ½Ã½ºÅÛÀÌ ¼±ÅÃÇÑ ¹öÆÛ »çÀÌÁî´Â °è¼ÓµÇ¾î DataLine.getBufferSize() ¸¦ È£ÃâÇϸé Á¶È¸ÇÒ ¼ö ÀÖ½À´Ï´Ù.

ÀÌ Á¶ÀÛÀÌ ¼º°øÇϸé, ¶óÀÎÀº ¿­·Á ÀÖ´Â »óÅ·μ­ ¸¶Å© µÇ¾îOPEN À̺¥Æ®°¡ ¶óÀÎÀÇ ¸®½º³Ê¿¡°Ô µð½ºÆÐÄ¡ µË´Ï´Ù.

ÀÌ¹Ì ¿­·Á ÀÖ´Â ¶óÀÎÀ¸·Î ÀÌ ¸Þ¼­µå¸¦ È£ÃâÇÏ´Â °ÍÀº ¹«È¿À̸ç, IllegalStateException°¡ ¹ß»ýµÇ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù.

¶óÀο¡ µû¶ó¼­´Â ÇÑ ¹ø ´ÝÀ¸¸é ÀçÂ÷ ¿­Áö ¾Ê´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ¶óÀÎÀ» ÀçÂ÷ ¿­·Á°í Çϸé, Ç×»ó LineUnavailableException°¡ Ç¥½ÃµË´Ï´Ù.

ÆĶó¹ÌÅÍ:
format - ¼³Á¤ÇÏ°í ½ÍÀº ¿Àµð¿À Çü½Ä
¿¹¿Ü:
LineUnavailableException - ÀÚ¿øÀÇ Á¦¾àÀ» À§Çؼ­ ¶óÀÎÀ» ¿­Áö ¾Ê´Â °æ¿ì
IllegalArgumentException - format ÁöÁ¤ÀÌ ºÒ¿ÏÀü ¶Ç´Â ¹«È¿ÀÎ °æ¿ì
IllegalStateException - ¶óÀÎÀÌ ÀÌ¹Ì ¿­·Á ÀÖ´Â °æ¿ì
SecurityException - º¸¾È»óÀÇ Á¦¾àÀ» À§Çؼ­ ¶óÀÎÀ» ¿­Áö ¾Ê´Â °æ¿ì
°ü·Ã Ç׸ñ:
open(AudioFormat, int), Line.open(), Line.close(), Line.isOpen(), LineEvent

read

int read(byte[] b,
         int off,
         int len)
µ¥ÀÌÅÍ ¶óÀÎÀÇ ÀÔ·Â ¹öÆ۷κÎÅÍ ¿Àµð¿À µ¥ÀÌÅ͸¦ ÀоîµéÀÔ´Ï´Ù. ¿ä±¸µÈ ¹ÙÀÌÆ®¼ö°¡ ÁöÁ¤µÈ ¹è¿­ÀÇ ÁöÁ¤µÈ ¿ÀÇÁ¼Â(offset) À§Ä¡ (¹ÙÀÌÆ® ´ÜÀ§)¸¦ ½ÃÁ¡À¸·Î¼­ ÀÐÈü´Ï´Ù. ÀÌ ¸Þ¼­µå´Â ¿ä±¸µÈ ¾çÀÇ µ¥ÀÌÅ͸¦ Àб⠳¡³¾ ¶§±îÁö ºí·Ï µË´Ï´Ù. ´Ù¸¸, ¿ä±¸µÈ ¾çÀÌ ÀÐÈ÷±â Àü¿¡ µ¥ÀÌÅÍ ¶óÀÎÀÌ Å¬·Î¿ìÁî, Á¤Áö, ¹èÃâ, ¶Ç´Â Ç÷¡½Ã µÇ¸é, ¸Þ¼­µåÀÇ ºí·ÏÀÌ ÇØÁ¦µÇ¾î ±×¶§±îÁö ÀÐÈù ¹ÙÀÌÆ®¼ö°¡ ¸®Åϵ˴ϴ٠.

ºí·Ï µÇÁö ¾Ê°í ÀоîµéÀÏ ¼ö ÀÖ´Â ¹ÙÀÌÆ®¼ö´Â DataLineÀÎÅÍÆäÀ̽ºÀÇ available ¸Þ¼­µå¸¦ »ç¿ëÇØ È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¹ÙÀÌÆ®¼ö´Â ºí·Ï µÇÁö ¾Ê°í È®½ÇÈ÷ ÀоîµéÀÏ ¼ö ÀÖ½À´Ï´Ù¸¸, Ãß°¡ µ¥ÀÌÅ͸¦ ÀоîµéÀÌ·Á°í ÇßÀ» ¶§¿¡ ºí·Ï µÉÁö ¾î¶³Áö´Â È®½ÇÇÏÁö´Â ¾Ê½À´Ï´Ù.

ÀоîµéÀÌ´Â ¹ÙÀÌÆ®¼ö´Â »ùÇà frame sizeÀÇ ¹è¼öÀÎ °ÍÀÌ ÇÊ¿äÇÕ´Ï´Ù. Áï, ´ÙÀ½ÀÇ Á¶°ÇÀ» ä¿ì°í ÀÖÀ» ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.

[ÀÐÈ÷´Â ¹ÙÀÌÆ®¼ö] % [frame sizeÀÇ ¹ÙÀÌÆ®¼ö] == 0

¹Ýȯ°ªÀº Ç×»ó ÀÌ Á¶°ÇÀ» ä¿ì°í ÀÖ½À´Ï´Ù. »ùÇà frame sizeÀÇ ¹è¼ö ÀÌ¿ÜÀÇ ¹ÙÀÌÆ®¼ö¸¦ ÀоîµéÀδٰí ÇÏ´Â ¿ä±¸´Â ½ÇÇàÇÏÁö ¸øÇÏ°í, IllegalArgumentException°¡ ¹ß»ýµÇ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù.

ÆĶó¹ÌÅÍ:
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

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy µµ ÂüÁ¶ÇϽʽÿÀ.