JavaTM 2 Platform
Standard Ed. 5.0

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

¾Ë·ÁÁø ¼­ºê ÀÎÅÍÆäÀ̽º ¸ñ·Ï :
Clip, DataLine, Mixer, Port, SourceDataLine, TargetDataLine

public interface Line

LineÀÎÅÍÆäÀ̽º´Â ´ÜûÀÇ Ã¤³Î ¶Ç´Â ´ÙÁß Ã¤³ÎÀÇ ¿Àµð¿À¼Û¸¦ ³ªÅ¸³À´Ï´Ù. ¶óÀÎÀº ¹Í¼­, ÀÔÃâ·Â Æ÷Æ®, ¹Í¼­¿¡ÀÇ µ¥ÀÌÅÍ ÀÔÃâ·Â ÆнºµîÀÇ, µðÁöÅÐ ¿Àµð¿À ¡¸ÆÄÀÌÇÁ¶óÀΡ¹ÀÇ 1 ¿ä¼ÒÀÔ´Ï´Ù.

¶óÀÎÀº °ÔÀÎ, »§, ¸®¹ÙºêµîÀ» ÄÁÆ®·Ñ ÇÒ ¼ö ÀÖ½À´Ï´Ù . ÄÁÆ®·Ñ ÀÚü´Â ±âÀú Control Ŭ·¡½º¸¦ È®ÀåÇϴ Ŭ·¡½ºÀÇ ÀνºÅϽºÀÔ´Ï´Ù. LineÀÎÅÍÆäÀ̽º´Â ¶óÀÎÀ» ÄÁÆ®·ÑÇϱâ À§ÇÑ ¾×¼¼½º¿ë ¸Þ¼­µå¸¦ 2°³ Á¦°øÇÕ´Ï´Ù. getControls ´Â ¼¼Æ® Àüü¸¦ µ¹·ÁÁÖ°í, getControl ´Â ÁöÁ¤µÈ ´ÜÀÏÀÇ ÄÁÆ®·ÑÀ» ¸®ÅÏÇÕ´Ï´Ù.

¶óÀÎÀº ½Ã°£¿¡ ÀÇÇØ ´Ù¾çÇÑ »óÅ·ΠÁ¸ÀçÇÕ´Ï´Ù. ¶óÀÎÀÌ ¿­¸®¸é, ¶óÀÎ ÀÚü¸¦ À§Çؼ­ system resource°¡ È®º¸µÇ¾î ¶óÀÎÀÌ ´ÝÀ¸¸é, ÀÌ·¯ÇÑ ÀÚ¿øÀº ´Ù¸¥ °´Ã¼ ¶Ç´Â ¾îÇø®ÄÉÀ̼ÇÀ» À§Çؼ­ ÇعæµË´Ï´Ù. isOpen() ¸Þ¼­µå¿¡ÀÇÇØ ¶óÀÎÀÌ ¿­·Á ÀÖÀ»±î ´Ý°í ÀÖ´ÂÁö¸¦ È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù. ´Ù¸¸ ¶óÀÎÀÌ ¿­·Á À־, µ¥ÀÌÅ͸¦ ó¸®ÇÏ°í ÀÖ´Ù°í´Â ÇÒ ¼ö ¾ø½À´Ï´Ù. µ¥ÀÌÅÍ Ã³¸®´Â º¸Åë, SourceDataLine.write ³ª TargetDataLine.read µîÀÇ ¼­ºê ÀÎÅÍÆäÀ̽ºÀÇ ¸Þ¼­µå¿¡ ÀÇÇØ °³½ÃµË´Ï´Ù.

°´Ã¼¸¦ µî·ÏÇØ, ¶óÀÎ »óÅ°¡ º¯È­ÇÒ ¶§¸¶´Ù ÅëÁö¸¦ ¹ÞÀ» ¼ö°¡ ÀÖ½À´Ï´Ù. °´Ã¼´Â ´ÜÀÏÀÇ ¸Þ¼­µå update ·Î ±¸¼ºµÇ´Â LineListener ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÏ°í ÀÖÀ» ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. ÀÌ ¸Þ¼­µå´Â ¶óÀÎÀÇ °³Æó½Ã¿¡ È£ÃâÇÕ´Ï´Ù. ¶óÀÎÀÌ DataLine ÀÎ °æ¿ì´Â °³½Ã ¹× Á¤Áö½Ã¿¡ È£ÃâÇÕ´Ï´Ù.

°´Ã¼¸¦ µî·ÏÇØ º¹¼öÀÇ ¶óÀÎÀ» °¨½ÃÇÒ ¼ö ÀÖ½À´Ï´Ù . °´Ã¼°¡ update ¸Þ¼­µå·Î ¼ö½ÅÇÏ´Â À̺¥Æ®´Â ¾î´À ¶óÀÎÀÌ À̺¥Æ®¸¦ ÀÛ¼ºÇß´ÂÁö, ±×°ÍÀº ¾î´À ŸÀÔÀÇ À̺¥Æ®Àΰ¡ (OPEN, CLOSE, START, ¶Ç´Â STOP) ¹× À̺¥Æ® ¹ß»ý½Ã ¶óÀÎÀÌ ¾ó¸¶³ªÀÇ »ùÇà ÇÁ·¹ÀÓÀ» ´Ù ó¸®ÇØ ÀÖ´ÂÁö¸¦ ÁöÁ¤ÇÕ´Ï´Ù.

°³ÆóµîÀÇ ÀÏÁ¤ÇÑ ¶óÀÎ Á¶ÀÛÀº ¶óÀÎÀÌ °øÀ¯ ¿Àµð¿À ÀÚ¿øÀÏ ¶§ Ư±ÇÀ» °¡ÁöÁö ¾Ê´Â Äڵ忡 ÀÇÇØ ºÒ·Á °¬À» °æ¿ì, ½ÃÅ¥·¯Æ¼ ¿¹¿Ü¸¦ »ý¼ºÇÏ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù.

µµÀÔµÈ ¹öÀü :
1.3
°ü·Ã Ç׸ñ:
LineEvent

Áßø(Nested) Ŭ·¡½º °³¿ä
static class Line.Info
          Line.Info°´Ã¼´Â ¶óÀο¡ °üÇÑ Á¤º¸¸¦ Æ÷ÇÔÇÏ°í ÀÖ½À´Ï´Ù.
 
¸Þ¼­µå °³¿ä
 void addLineListener (LineListener  listener)
          ¸®½º³Ê¿¡°Ô ÀÌ ¶óÀÎÀ» Ãß°¡ÇÕ´Ï´Ù.
 void close ()
          ¶óÀÎÀ» ´Ý¾Æ ¶óÀÎÀ¸·Î »ç¿ëÇÏ°í ÀÖ´ø system resource¸¦ ÇعæÇÒ ¼ö ÀÖ´Â °ÍÀ» ³ªÅ¸³À´Ï´Ù.
 Control getControl (Control.Type  control)
          ÁöÁ¤µÈ ÄÁÆ®·Ñ ŸÀÔÀÌ ÀÖ´Â °æ¿ì, ÃëµæÇÕ´Ï´Ù.
 Control [] getControls ()
          ÀÌ ¶óÀο¡ °ü·ÃµÈ ÄÁÆ®·Ñ¼¼Æ®¸¦ ÃëµæÇÕ´Ï´Ù.
 Line.Info getLineInfo ()
          ÀÌ ¶óÀÎÀ» ¼³¸íÇÏ´Â Line.Info °´Ã¼¸¦ ÃëµæÇÕ´Ï´Ù.
 boolean isControlSupported (Control.Type  control)
          ¶óÀÎÀÌ ÁöÁ¤µÈ ÄÁÆ®·Ñ ŸÀÔÀ» Áö¿ø ÇÒÁö ¾î¶³Áö¸¦ ³ªÅ¸³À´Ï´Ù.
 boolean isOpen ()
          ¶óÀÎÀÌ ¿­·Á ÀÖÀ»Áö ¾î¶³Áö, Áï ÇöÀç´Â »ç¿îµå¸¦ Àç»ý ¶Ç´Â ¼öÁýÇÏ°í ÀÖÁö ¾Ê¾Æµµ system resource¸¦ È®º¸ÇØ Á¶ÀÛ °¡´ÉÇÑÁö ¾î¶²Áö¸¦ ³ªÅ¸³À´Ï´Ù.
 void open ()
          ¶óÀÎÀ» ¿­¾î, ÇÊ¿äÇÑ system resource¸¦ ȹµæÇØ Á¶ÀÛ °¡´ÉÇÏ°Ô µÇ¾î ÀÖ´Â °ÍÀ» ³ªÅ¸³À´Ï´Ù.
 void removeLineListener (LineListener  listener)
          ÀÌ ¶óÀÎÀÇ ¸®½º³ÊÀÇ ¸®½ºÆ®·ÎºÎÅÍ, ÁöÁ¤µÈ ¸®½º³Ê¸¦ »èÁ¦ÇÕ´Ï´Ù.
 

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

getLineInfo

Line.Info  getLineInfo()
ÀÌ ¶óÀÎÀ» ¼³¸íÇÏ´Â Line.Info °´Ã¼¸¦ ÃëµæÇÕ´Ï´Ù.

¹Ýȯ°ª:
¶óÀÎÀÇ ¼³¸í

open

void open()
          throws LineUnavailableException 
¶óÀÎÀ» ¿­¾î, ÇÊ¿äÇÑ system resource¸¦ ȹµæÇØ Á¶ÀÛ °¡´ÉÇÏ°Ô µÇ¾î ÀÖ´Â °ÍÀ» ³ªÅ¸³À´Ï´Ù. ÀÌ Á¶ÀÛÀÌ ¿Ï·áÇϸé, ¶óÀÎÀº ¿©´Â °ÍÀ¸·Î¼­ ¸¶Å© µÇ¾îOPEN À̺¥Æ®°¡ ¶óÀÎÀÇ ¸®½º³Ê¿¡°Ô µð½ºÆÐÄ¡ µË´Ï´Ù.

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

¶óÀÎÀÇ Á¾·ù¿¡ µû¶ó¼­´Â ÀÚ¿øÀÇ ÇÒ´ç¿¡ ¿µÇâÀ» ÁÖ´Â ¼³Á¤ °¡´ÉÇÑ ÇÁ·ÎÆÛƼ¸¦ °¡Áö°í ÀÖ´Â °Íµµ ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, DataLine´Â ƯÁ¤ÀÇ Æ÷¸Ë ¹× ¹öÆÛ »çÀÌÁî·Î ¿­¸± ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ¶óÀÎÀº, open ¸Þ¼­µå, ¶Ç´Â ¹Ù¶÷Á÷ÇÑ ¼³Á¤À» ¾îÇø®ÄÉÀ̼ÇÀ¸·Î ÁöÁ¤ÇÒ ¼ö ÀÖ´Â ¸Þ¼­µå¸¦ Ãß°¡ÇÏ´Â µî ÇØ, ÀÌ·¯ÇÑ ÇÁ·ÎÆÛƼ¸¦ ¼³Á¤ÇÏ´Â ±â´ÉÀ» Á¦°øÇÕ´Ï´Ù.

ÀÌ ¸Þ¼­µå´Â Àμö¸¦ ÃëÇÏÁö ¾Ê°í, ÇöÀçÀÇ ¼³Á¤À¸·Î ¶óÀÎÀ» ¿±´Ï´Ù. ÀÌ°ÍÀº, SourceDataLine °´Ã¼³ª TargetDataLine °´Ã¼ÀÇ °æ¿ì, ¶óÀÎÀÌ µðÆúÆ® ¼³Á¤À¸·Î ¿­¸®´Â °ÍÀ»ÀǹÌÇÕ´Ï´Ù. ±×·¯³ª Clip ÀÎ °æ¿ì, ¹öÆÛ »çÀÌÁî´Â µ¥ÀÌÅÍÀÇ ·Îµå½Ã·Î °áÁ¤µË´Ï´Ù. ÀÌ ¸Þ¼­µå¿¡¼­´Â ·ÎµåÇÏ´Â µ¥ÀÌÅ͸¦ ¾îÇø®ÄÉÀ̼ÇÀ¸·Î ÁöÁ¤ÇÒ ¼ö ¾ø±â ¶§¹®¿¡ IllegalArgumentException°¡ ¹ß»ý µË´Ï´Ù. µû¶ó¼­, ÀÌ ´ë½Å¿¡ ClipÀÎÅÍÆäÀ̽º¿¡ °®ÃçÁö°í ÀÖ´Â open ¸Þ¼­µåÀÇ 1°³¸¦ »ç¿ëÇØ, µ¥ÀÌÅ͸¦ Clip¿¡ ·ÎµåÇÕ´Ï´Ù.

DataLine¿¡ ¼­´Â ¶óÀÎÀÇ Ãëµæ¿¡ »ç¿ëµÈ DataLine.Info °´Ã¼°¡ 1°³ ÀÌ»óÀÇ ¿ÏÀü ¼ö½Ä ¿Àµð¿À Çü½ÄÀ» ÁöÁ¤ÇÏ´Â °æ¿ì, ¸¶Áö¸· Çü½ÄÀÌ µðÆúÆ®°¡ µË´Ï´Ù.

¿¹¿Ü:
IllegalArgumentException - ÀÌ ¸Þ¼­µå°¡ Clip ÀνºÅϽº¿¡ ´ëÇؼ­ ºÒ·Á °¬À» °æ¿ì
LineUnavailableException - ÀÚ¿øÀÇ Á¦¾àÀ» À§Çؼ­ ¶óÀÎÀ» ¿­Áö ¾Ê´Â °æ¿ì
SecurityException - º¸¾È»óÀÇ Á¦¾àÀ» À§Çؼ­ ¶óÀÎÀ» ¿­Áö ¾Ê´Â °æ¿ì
°ü·Ã Ç׸ñ:
close(), isOpen(), LineEvent, DataLine, Clip.open(AudioFormat, byte[], int, int), Clip.open(AudioInputStream)

close

void close()
¶óÀÎÀ» ´Ý¾Æ ¶óÀÎÀ¸·Î »ç¿ëÇÏ°í ÀÖ´ø system resource¸¦ ÇعæÇÒ ¼ö ÀÖ´Â °ÍÀ» ³ªÅ¸³À´Ï´Ù. ÀÌ Á¶ÀÛÀÌ ¿Ï·áÇϸé, ¶óÀÎÀº ´Ý´Â °ÍÀ¸·Î¼­ ¸¶Å© µÇ¾îCLOSE À̺¥Æ®°¡ ¶óÀÎÀÇ ¸®½º³Ê¿¡°Ô µð½ºÆÐÄ¡ µË´Ï´Ù.

¿¹¿Ü:
SecurityException - º¸¾È»óÀÇ Á¦¾àÀ» À§Çؼ­ ¶óÀÎÀ» ´ÝÀ» ¼ö°¡ ¾ø´Â °æ¿ì
°ü·Ã Ç׸ñ:
open(), isOpen(), LineEvent

isOpen

boolean isOpen()
¶óÀÎÀÌ ¿­·Á ÀÖÀ»Áö ¾î¶³Áö, Áï ÇöÀç´Â »ç¿îµå¸¦ Àç»ý ¶Ç´Â ¼öÁýÇÏ°í ÀÖÁö ¾Ê¾Æµµ system resource¸¦ È®º¸ÇØ Á¶ÀÛ °¡´ÉÇÑÁö ¾î¶²Áö¸¦ ³ªÅ¸³À´Ï´Ù.

¹Ýȯ°ª:
¶óÀÎÀÌ ¿­·Á ÀÖ´Â °æ¿ì´Â true, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false
°ü·Ã Ç׸ñ:
open(), close()

getControls

Control [] getControls()
ÀÌ ¶óÀο¡ °ü·ÃµÈ ÄÁÆ®·Ñ¼¼Æ®¸¦ ÃëµæÇÕ´Ï´Ù. ÀϺÎÀÇ ÄÁÆ®·ÑÀº ¶óÀÎÀÌ ¿­·Á ÀÖÀ» ¶§ ¹Û¿¡ »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù. ÄÁÆ®·ÑÀÌ ¾ø´Â °æ¿ì, ÀÌ ¸Þ¼­µå´Â ±æÀÌ 0 ¹è¿­À» ¸®ÅÏÇÕ´Ï´Ù.

¹Ýȯ°ª:
ÄÁÆ®·ÑÀÇ ¹è¿­
°ü·Ã Ç׸ñ:
getControl(javax.sound.sampled.Control.Type)

isControlSupported

boolean isControlSupported(Control.Type  control)
¶óÀÎÀÌ ÁöÁ¤µÈ ÄÁÆ®·Ñ ŸÀÔÀ» Áö¿ø ÇÒÁö ¾î¶³Áö¸¦ ³ªÅ¸³À´Ï´Ù. ÀϺÎÀÇ ÄÁÆ®·ÑÀº ¶óÀÎÀÌ ¿­·Á ÀÖÀ» ¶§ ¹Û¿¡ »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù.

ÆĶó¹ÌÅÍ:
control - Áö¿ø°¡ Á¶È¸µÇ´Â ÄÁÆ®·ÑÀÇ Å¸ÀÔ
¹Ýȯ°ª:
ÁöÁ¤µÈ ŸÀÔÀÇ ÄÁÆ®·ÑÀÇ Àû¾îµµ 1°³ÀÌ Áö¿ø µÇ°í ÀÖ´Â °æ¿ì´Â true, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false

getControl

Control  getControl(Control.Type  control)
ÁöÁ¤µÈ ÄÁÆ®·Ñ ŸÀÔÀÌ ÀÖ´Â °æ¿ì, ÃëµæÇÕ´Ï´Ù. ÀϺÎÀÇ ÄÁÆ®·ÑÀº ¶óÀÎÀÌ ¿­·Á ÀÖÀ» ¶§ ¹Û¿¡ »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù.

ÆĶó¹ÌÅÍ:
control - ¿ä±¸µÈ ÄÁÆ®·ÑÀÇ Å¸ÀÔ
¹Ýȯ°ª:
ÁöÁ¤µÈ ŸÀÔÀÇ ÄÁÆ®·Ñ
¿¹¿Ü:
IllegalArgumentException - ÁöÁ¤µÈ ŸÀÔÀÇ ÄÁÆ®·ÑÀÌ Áö¿ø µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì
°ü·Ã Ç׸ñ:
getControls(), isControlSupported(Control.Type control)

addLineListener

void addLineListener(LineListener  listener)
¸®½º³Ê¿¡°Ô ÀÌ ¶óÀÎÀ» Ãß°¡ÇÕ´Ï´Ù. ¶óÀÎ »óÅ°¡ º¯È­ÇÒ ¶§¸¶´Ù, ¸®½º³ÊÀÇ update() ¸Þ¼­µå°¡ ºÒ·Á°¡ º¯È­¸¦ ¼³¸íÇÏ´Â update() °´Ã¼°¡ ³ªÅ¸³³´Ï´Ù.

ÆĶó¹ÌÅÍ:
listener - ¸®½º³Ê·Î¼­ ÀÌ ¶óÀο¡ Ãß°¡ÇÏ´Â °´Ã¼
°ü·Ã Ç׸ñ:
removeLineListener(javax.sound.sampled.LineListener), LineListener.update(javax.sound.sampled.LineEvent), LineEvent

removeLineListener

void removeLineListener(LineListener  listener)
ÀÌ ¶óÀÎÀÇ ¸®½º³ÊÀÇ ¸®½ºÆ®·ÎºÎÅÍ, ÁöÁ¤µÈ ¸®½º³Ê¸¦ »èÁ¦ÇÕ´Ï´Ù.

ÆĶó¹ÌÅÍ:
listener - »èÁ¦ÇÏ´Â ¸®½º³Ê
°ü·Ã Ç׸ñ:
addLineListener(javax.sound.sampled.LineListener)

JavaTM 2 Platform
Standard Ed. 5.0

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