|
JavaTM 2 Platform Std. Ed. v1. 4.0 |
||||||||||
ÀüÀÇ Å¬·¡½º ´ÙÀ½ÀÇ Å¬·¡½º | ÇÁ·¹ÀÓ ÀÖ¾î ÇÁ·¹ÀÓ ¾øÀ½ | ||||||||||
°³¿ä: »óÀÚ | Çʵå | constructor | ¸Þ¼Òµå | »ó¼¼: Çʵå | constructor | ¸Þ¼Òµå |
¼Ò½º µ¥ÀÌÅÍ ¶óÀÎÀº µ¥ÀÌÅ͸¦ ±âÀÔÇÒ ¼ö ÀÖ´Â µ¥ÀÌÅÍ ¶óÀÎÀÔ´Ï´Ù. ¼Ò½º µ¥ÀÌÅÍ ¶óÀÎÀº mixer¿¡ ´ëÇØ¼ ¼Ò½º·Î¼ µ¿ÀÛÇÕ´Ï´Ù. ¾îÇø®ÄÉÀ̼ÇÀÌ ¿Àµð¿À ¹ÙÀÌÆ®¸¦ ¼Ò½º µ¥ÀÌÅÍ ¶óÀο¡ ±âÀÔÇϸé(ÀÚ), ¼Ò½º µ¥ÀÌÅÍ ¶óÀÎÀº ¹ÙÀÌÆ®ÀÇ ¹öÆÛ¸µÀ» ó¸®ÇØ, ±×°ÍÀ» mixer¿¡ Àü´ÞÇÕ´Ï´Ù. mixer´Â »ùÇÃÀ» ´Ù¸¥ ¼Ò½º·ÎºÎÅÍÀÇ »ùÇðú ¹Í½º ÇØ, ±×°ÍÀ» Ãâ·Â Æ÷ÅäµîÀÇ Å¸°ÙÀ¸·Î Àü´ÞÇÕ´Ï´Ù. Ãâ·Â Æ÷Åä¶õ, »ç¿îµå Ä«µåÀÇ ¿Àµð¿À Ãâ·Â µð¹ÙÀ̽ºµîÀÇ ÀÏÀÔ´Ï´Ù.
ÀÌ ÀÎÅÍÆäÀ̽ºÀÇ ¸í¸í ±ÔÄ¢Àº ¶óÀΰú mixerÀÇ °ü°è¸¦ ¹Ý¿µÇϰí ÀÖ½À´Ï´Ù. ¾îÇø®ÄÉÀ̼ÇÀ¸·ÎºÎÅÍ º¸¸é(ÀÚ), ¼Ò½º µ¥ÀÌÅÍ ¶óÀÎÀº ¿Àµð¿À µ¥ÀÌÅÍÀÇ Å¸°ÙÀÇ ¿ªÇÒÀ» ¿Ï¼öÇÕ´Ï´Ù.
¼Ò½º µ¥ÀÌÅÍ ¶óÀÎÀº ÇØ´çÇÏ´Â
¿ÀºêÁ§Æ®¸¦ »ç¿ëÇØ DataLine.Info
Mixer
ÀÇ
¸Þ¼Òµå¸¦ È£ÃâÇÏ´Â °ÍÀ¸·Î, mixer·ÎºÎÅÍ ÃëµæÇÒ ¼ö ÀÖ½À´Ï´Ù.
getLine
SourceDataLine
ÀÎÅÍÆäÀ̽º´Â ¿Àµð¿À µ¥ÀÌÅ͸¦ µ¥ÀÌÅÍ ¶óÀÎÀÇ ¹öÆÛ¿¡ ±âÀÔÇÏ´Â ¸Þ¼Òµå¸¦ Á¦°øÇÕ´Ï´Ù. ¿Àµð¿À¸¦ Àç»ý ¶Ç´Â ¹Í½º ÇÏ´Â ¾îÇø®ÄÉÀ̼ÇÀº ¹öÆÛ°¡ ¾ð´õ Ç÷οì(underflow) (°ø¹éÈ) ÇÏÁö ¾Ê´Â µ¿¾È¿¡, µ¥ÀÌÅ͸¦ Àçºü¸£°Ô ¼Ò½º µ¥ÀÌÅÍ ¶óÀο¡ ±âÀÔÇÕ´Ï´Ù. ¾ð´õ Ç÷οì(underflow)¿¡ ÀÇÇØ ¿Àµð¿À¿¡ ºÒ¿¬¼ÓºÎ°¡ »ý±â´Â ÀÏÀÌ ÀÖ¾î, Ŭ¸¯À½À¸·Î¼ Áö°¢µË´Ï´Ù. ¾îÇø®ÄÉÀ̼ÇÀº DataLine
ÀÎÅÍÆäÀ̽º·Î Á¤ÀǵÈ
¸Þ¼Òµå¸¦ »ç¿ëÇØ, µ¥ÀÌÅÍ ¶óÀÎÀÇ ¹öÆÛ·Î ÇöÀç Å¥¿¡ µé¾î°¡ ÀÖ´Â µ¥ÀÌÅÍÀÇ ¾çÀ» ÆÇº°ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ºí·Ï ÇÏÁö ¾Ê°í ¹öÆÛ¿¡ ±âÀÔÇÒ ¼ö ÀÖ´Â µ¥ÀÌÅÍÀÇ ¾çÀº ¹öÆÛ »çÀÌÁî¿Í Å¥¿¡ µé¾î°¡ ÀÖ´Â µ¥ÀÌÅÍÀÇ ¾çÀÇ Â÷ÀÌÀÔ´Ï´Ù. ¾ð´õ Ç÷οì(underflow)¸¦ À§Çؼ(¶§¹®¿¡) ¿Àµð¿À Ãâ·ÂÀÇ Àü´ÞÀÌ Á¤ÁöÇßÀ» °æ¿ì,available
À̺¥Æ®°¡ »ý¼ºµË´Ï´Ù. ¿Àµð¿À Ãâ·ÂÀÌ Àç°³Çϸé(ÀÚ),STOP
À̺¥Æ®°¡ »ý¼ºµË´Ï´Ù.
START
Mixer
,
DataLine
,
TargetDataLine
ÁßøµÈ Ŭ·¡½ºÀÇ °³¿ä |
Ŭ·¡½º javax.sound.sampled. DataLine À» »ó¼Ó¹ÞÀº ÁßøµÈ Ŭ·¡½º |
DataLine.Info |
Ŭ·¡½º javax.sound.sampled. Line À» »ó¼Ó¹ÞÀº ÁßøµÈ Ŭ·¡½º |
Line.Info |
¸Þ¼ÒµåÀÇ °³¿ä | |
void |
open (AudioFormat format)
ÁöÁ¤µÈ Æ÷¸ËÀ¸·Î ¶óÀÎÀ» ¿¾î, ¶óÀÎÀÌ ÇÊ¿äÇÑ system resource¸¦ ȹµæÇØ Á¶ÀÛ °¡´ÉÇÏ°Ô µÇµµ·Ï(µíÀÌ) ÇÕ´Ï´Ù. |
void |
open (AudioFormat format,
int bufferSize)
ÁöÁ¤µÈ Æ÷¸Ë°ú ÁöÁ¤µÈ ¹öÆÛ »çÀÌÁî·Î ¶óÀÎÀ» ¿¾î, ¶óÀÎÀÌ ÇÊ¿äÇÑ system resource¸¦ ȹµæÇØ Á¶ÀÛ °¡´ÉÇÏ°Ô µÇµµ·Ï(µíÀÌ) ÇÕ´Ï´Ù. |
int |
write (byte[] b,
int off,
int len)
ÀÌ ¼Ò½º µ¥ÀÌÅÍ ¶óÀÎÀ» ÅëÇØ ¿Àµð¿À µ¥ÀÌÅ͸¦ mixer¿¡ ±âÀÔÇÕ´Ï´Ù. |
ÀÎÅÍÆäÀ̽º javax.sound.sampled. DataLine ¿¡¼ »ó¼Ó¹ÞÀº ¸Þ¼Òµå |
available , drain , flush , getBufferSize , getFormat , getFramePosition , getLevel , getMicrosecondPosition , isActive , isRunning , start , stop |
ÀÎÅÍÆäÀ̽º javax.sound.sampled. Line ¿¡¼ »ó¼Ó¹ÞÀº ¸Þ¼Òµå |
addLineListener , close , getControl , getControls , getLineInfo , isControlSupported , isOpen , open , removeLineListener |
¸Þ¼ÒµåÀÇ »ó¼¼ |
public void open(AudioFormat format, int bufferSize) throws LineUnavailableException
¹öÆÛ »çÀÌÁî´Â ¹ÙÀÌÆ®·Î ÁöÁ¤µË´Ï´Ù¸¸, »ùÇà ÇÁ·¹ÀÓÀÇ Á¤¼ö¸¦ Ç¥½ÃÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. ÀÌ Á¶°Ç¿¡ ÀûÇÕÇÏÁö ¾Ê´Â ¹öÆÛ »çÀÌÁî·Î ÀÌ ¸Þ¼Òµå¸¦ È£ÃâÇϸé(ÀÚ), IllegalArgumentException °¡ Ç¥½ÃµÇ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù. ¿¬ ¶óÀÎÀÇ ½ÇÁ¦ÀÇ ¹öÆÛ »çÀÌÁî´Â ÁöÁ¤µÈ ¹öÆÛ »çÀÌÁî¿Í´Â ´Ù¸¥ ÀÏÀÌ ÀÖ½À´Ï´Ù. ½ÇÁ¦·Î ¼³Á¤µÈ °ªÀº ÈļÓÀÇ È£Ãâ
¿¡ ÀÇÇØ Á¶È¸ÇÒ ¼ö ÀÖ½À´Ï´Ù.
DataLine.getBufferSize()
ÀÌ Á¶ÀÛÀÌ ¿Ï·áÇϸé(ÀÚ), ¶óÀÎÀº ¿©´Â °ÍÀ¸·Î¼ ¸¶Å© µÇ¾î
À̺¥Æ®°¡ ¶óÀÎÀÇ Ã»ÃëÀÚ¿¡°Ô µð½ºÆÌÄ¡ µË´Ï´Ù.
OPEN
¹ú½á ¿·Á ÀÖ´Â ¶óÀÎÀ¸·Î ÀÌ ¸Þ¼Òµå¸¦ È£ÃâÇÏ´Â °ÍÀº ºÎÀûÀýÇϰí,IllegalStateException
°¡ Ç¥½ÃµÇ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù.
¶óÀο¡ µû¶ó¼´Â ÇÑ ¹ø ´ÝÀ¸¸é(ÀÚ) ÀçÂ÷ ¿Áö ¾Ê´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ¶óÀÎÀ» ÀçÂ÷ ¿·Á°í Çϸé(ÀÚ), Ç×»ó LineUnavailableException
°¡ Ç¥½ÃµË´Ï´Ù.
format
- ¹Ù¶÷Á÷ÇÑ ¿Àµð¿À Çü½ÄbufferSize
- ¹Ù¶÷Á÷ÇÑ ¹öÆÛ »çÀÌÁî
LineUnavailableException
- ¸®¼Ò½ºÀÇ Á¦¾àÀ» À§Çؼ(¶§¹®¿¡) ¶óÀÎÀ» ¿Áö ¾Ê´Â °æ¿ì
IllegalArgumentException
- ¹öÆÛ »çÀÌÁî°¡ »ùÇà ÇÁ·¹ÀÓÀÇ ÀûºÐ¼ö¸¦ Ç¥½ÃÇÏÁö ¾Ê´Â °æ¿ì
IllegalStateException
- ¶óÀÎÀÌ ¹ú½á ¿·Á ÀÖ´Â °æ¿ì
SecurityException
- º¸¾È»óÀÇ Á¦¾àÀ» À§Çؼ(¶§¹®¿¡) ¶óÀÎÀ» ¿Áö ¾Ê´Â °æ¿ìopen(AudioFormat)
,
Line.open()
,
Line.close()
,
Line.isOpen()
,
LineEvent
public void open(AudioFormat format) throws LineUnavailableException
±¸ÇöÃøÀÌ ¹öÆÛ »çÀÌÁ ¼±ÅÃÇÕ´Ï´Ù. ¹öÆÛ »çÀÌÁî´Â ¹ÙÀÌÆ®·Î °áÁ¤µË´Ï´Ù¸¸, »ùÇà ÇÁ·¹ÀÓÀÇ Á¤¼ö¸¦ Æ÷ÇÔÇϰí ÀÖ½À´Ï´Ù. ½Ã½ºÅÛÀÌ ¼±ÅÃÇÑ ¹öÆÛ »çÀÌÁî´Â ÈļÓÀÇ
¸¦ È£ÃâÇØ Á¶È¸ÇÒ ¼ö ÀÖ½À´Ï´Ù.
DataLine.getBufferSize()
ÀÌ Á¶ÀÛÀÌ ¿Ï·áÇϸé(ÀÚ), ¶óÀÎÀº ¿©´Â °ÍÀ¸·Î¼ ¸¶Å© µÇ¾î
À̺¥Æ®°¡ ¶óÀÎÀÇ Ã»ÃëÀÚ¿¡°Ô µð½ºÆÌÄ¡ µË´Ï´Ù.
OPEN
¹ú½á ¿·Á ÀÖ´Â ¶óÀÎÀ¸·Î ÀÌ ¸Þ¼Òµå¸¦ È£ÃâÇÏ´Â °ÍÀº ºÎÀûÀýÇϰí,IllegalStateException
°¡ Ç¥½ÃµÇ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù.
¶óÀο¡ µû¶ó¼´Â ÇÑ ¹ø ´ÝÀ¸¸é(ÀÚ) ÀçÂ÷ ¿Áö ¾Ê´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ¶óÀÎÀ» ÀçÂ÷ ¿·Á°í Çϸé(ÀÚ), Ç×»ó LineUnavailableException
°¡ Ç¥½ÃµË´Ï´Ù.
format
- ¹Ù¶÷Á÷ÇÑ ¿Àµð¿À Çü½Ä
LineUnavailableException
- ¸®¼Ò½ºÀÇ Á¦¾àÀ» À§Çؼ(¶§¹®¿¡) ¶óÀÎÀ» ¿Áö ¾Ê´Â °æ¿ì
IllegalStateException
- ¶óÀÎÀÌ ¹ú½á ¿·Á ÀÖ´Â °æ¿ì
SecurityException
- º¸¾È»óÀÇ Á¦¾àÀ» À§Çؼ(¶§¹®¿¡) ¶óÀÎÀ» ¿Áö ¾Ê´Â °æ¿ìopen(AudioFormat, int)
,
Line.open()
,
Line.close()
,
Line.isOpen()
,
LineEvent
public int write(byte[] b, int off, int len)
available
ÂüÁ¶), ¿ä±¸µÈ ¾çÀÇ µ¥ÀÌÅͰ¡ ±âÀÔÇØÁú ¶§±îÁö ÀÌ ¸Þ¼Òµå°¡ ºí·Ï µË´Ï´Ù. À̰ÍÀº ±âÀÔ ¿ä±¸µÈ µ¥ÀÌÅÍÀÇ ¾çÀÌ µ¥ÀÌÅÍ ¶óÀÎÀÇ ¹öÆÛ »çÀÌÁ´Ù Å« °æ¿ì¿¡µµ µé¾î¸ÂÀ¾´Ï´Ù. ´Ù¸¸, ¿ä±¸µÈ ¾çÀÌ ±âÀÔÇØÁö±â Àü¿¡ µ¥ÀÌÅÍ ¶óÀÎÀÌ Å¬·Î¿ìÁî, Á¤Áö ¶Ç´Â Ç÷¡½Ã µÇ¾úÀ» °æ¿ì´Â ¸Þ¼Òµå´Â ºí·Ï µÇÁö ¸»°í ±×¶§±îÁö ±âÀÔÇØÁø ¹ÙÀÌÆ®¼ö¸¦ µ¹·ÁÁÝ´Ï´Ù.
ºí·Ï ÇÏÁö ¾Ê°í ±âÀÔÇÒ ¼ö ÀÖ´Â ¹ÙÀÌÆ®¼ö´Â DataLine
ÀÎÅÍÆäÀ̽ºÀÇ
¸Þ¼Òµå¸¦ »ç¿ëÇØ È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¹ÙÀÌÆ®¼ö´Â ºí·Ï ÇÏÁö ¾Ê°í È®½ÇÈ÷ ±âÀÔÇÒ ¼ö ÀÖ½À´Ï´Ù¸¸, Ãß°¡ µ¥ÀÌÅ͸¦ ±âÀÔÇÏ·Á°í Çϸé(ÀÚ) ºí·Ï µÉÁö ¾î¶³Áö´Â È®½ÇÇÏÁö´Â ¾Ê½À´Ï´Ù.
available
±âÀÔÇØÁö´Â ¹ÙÀÌÆ®¼ö´Â ´ÙÀ½°ú °°Àº »ùÇà ÇÁ·¹ÀÓÀÇ Á¤¼ö¸¦ Ç¥½ÃÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.
[±âÀÔÇØÁö´Â ¹ÙÀÌÆ®¼ö] % [frame sizeÀÇ ¹ÙÀÌÆ®¼ö] == 0
IllegalArgumentException
°¡ Ç¥½ÃµÇ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù.
b
- µ¥ÀÌÅÍ ¶óÀο¡ ±âÀÔÇØÁö´Â µ¥ÀÌÅ͸¦ Æ÷ÇÔÇÑ ¹ÙÀÌÆ® ¹è¿len
- ¹ÙÀÌÆ® ´ÜÀ§¿¡¼ÀÇ ¹è¿ÀÇ À¯È¿ µ¥ÀÌÅÍÀÇ ±æÀÌ (Áï, ¹ÙÀÌÆ® ´ÜÀ§¿¡¼ÀÇ ±âÀÔÇØ ¿ä±¸ µ¥ÀÌÅÍÀÇ ¾ç)
IllegalArgumentException
- ¿ä±¸µÈ ¹ÙÀÌÆ®¼ö°¡ ¿ÏÀüÇÑ »ùÇà ÇÁ·¹ÀÓ¼ö¿¡ »ó´çÇÏÁö ¾Ê´Â °æ¿ìTargetDataLine.read(byte[], int, int)
,
DataLine.available()
|
JavaTM 2 Platform Std. Ed. v1. 4.0 |
||||||||||
ÀüÀÇ Å¬·¡½º ´ÙÀ½ÀÇ Å¬·¡½º | ÇÁ·¹ÀÓ ÀÖ¾î ÇÁ·¹ÀÓ ¾øÀ½ | ||||||||||
°³¿ä: »óÀÚ | Çʵå | constructor | ¸Þ¼Òµå | »ó¼¼: Çʵå | constructor | ¸Þ¼Òµå |
Java, Java 2 D, ¹× JDBC ´Â ¹Ì±¹ ¹× ±× ¿ÜÀÇ ³ª¶ó¿¡ ÀÖ¾î¼ÀÇ ¹Ì±¹ Sun Microsystems, Inc. ÀÇ »óÇ¥ ȤÀº µî·Ï»óÇ¥ÀÔ´Ï´Ù.
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.