|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
ÀÌÀü Ŭ·¡½º ´ÙÀ½ Ŭ·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
°³¿ä: NESTED | Çʵå | »ý¼ºÀÚ | ¸Þ¼µå | »ó¼¼: Çʵå | »ý¼ºÀÚ | ¸Þ¼µå |
public interface SourceDataLine
¼Ò½º µ¥ÀÌÅÍ ¶óÀÎÀº µ¥ÀÌÅ͸¦ ±âÀÔÇÒ ¼ö ÀÖ´Â µ¥ÀÌÅÍ ¶óÀÎÀÔ´Ï´Ù. ¼Ò½º µ¥ÀÌÅÍ ¶óÀÎÀº ¹Í¼¿¡ ´ëÇØ¼ ¼Ò½º·Î¼ µ¿ÀÛÇÕ´Ï´Ù. ¾îÇø®ÄÉÀ̼ÇÀÌ ¿Àµð¿À ¹ÙÀÌÆ®¸¦ ¼Ò½º µ¥ÀÌÅÍ ¶óÀο¡ ±âÀÔÇϸé, ¼Ò½º µ¥ÀÌÅÍ ¶óÀÎÀº ¹ÙÀÌÆ®ÀÇ ¹öÆÛ¸µÀ» ó¸®ÇØ, ±×°ÍÀ» ¹Í¼¿¡ Àü´ÞÇÕ´Ï´Ù. ¹Í¼´Â »ùÇÃÀ» ´Ù¸¥ ¼Ò½º·ÎºÎÅÍÀÇ »ùÇðú ¹Í½º ÇØ, ±×°ÍÀ» Ãâ·Â Æ÷Æ®µîÀÇ Å¸°ÙÀ¸·Î Àü´ÞÇÕ´Ï´Ù. Ãâ·Â Æ÷Æ®¶õ »ç¿îµå Ä«µåÀÇ ¿Àµð¿À Ãâ·Â µð¹ÙÀ̽ºµîÀÇ ÀÏÀÔ´Ï´Ù.
ÀÌ ÀÎÅÍÆäÀ̽ºÀÇ ¸í¸í ±ÔÄ¢Àº, ¶óÀΰú ¹Í¼ÀÇ °ü°è¸¦ ¹Ý¿µÇϰí ÀÖ½À´Ï´Ù. ¾îÇø®ÄÉÀ̼ÇÀ¸·ÎºÎÅÍ º¸¸é, ¼Ò½º µ¥ÀÌÅÍ ¶óÀÎÀº ¿Àµð¿À µ¥ÀÌÅÍÀÇ Å¸°ÙÀÇ ¿ªÇÒÀ» ¿Ï¼öÇÕ´Ï´Ù.
¼Ò½º µ¥ÀÌÅÍ ¶óÀÎÀ» ¹Í¼·ÎºÎÅÍ ÃëµæÇÏ·Á¸é,
ÀûÀýÇÑ
¿ÀºêÁ§Æ®¸¦ ÁöÁ¤ÇØ DataLine.Info
Mixer
¸Þ¼µå¸¦ È£ÃâÇÕ´Ï´Ù.
getLine
SourceDataLine
ÀÎÅÍÆäÀ̽º´Â
¿Àµð¿À µ¥ÀÌÅ͸¦ µ¥ÀÌÅÍ ¶óÀÎÀÇ ¹öÆÛ¿¡ ±âÀÔÇÏ´Â ¸Þ¼µå¸¦ Á¦°øÇÕ´Ï´Ù. ¿Àµð¿À¸¦ Àç»ý ¶Ç´Â ¹Í½º ÇÏ´Â ¾îÇø®ÄÉÀ̼ÇÀº, ¹öÆÛ°¡ ¾ð´õ Ç÷οì(underflow) (°ø¹éÈ) ÇÏÁö ¾Ê´Â µ¿¾È¿¡ µ¥ÀÌÅ͸¦ Àçºü¸£°Ô ¼Ò½º µ¥ÀÌÅÍ ¶óÀο¡ ±âÀÔÇÕ´Ï´Ù. ¾ð´õ Ç÷οì(underflow)¿¡
ÇØ ¿Àµð¿À¿¡ ºÒ¿¬¼ÓºÎ°¡ »ý±â´Â ÀÏÀÌ ÀÖ¾î, Ŭ¸¯À½À¸·Î¼ Áö°¢µË´Ï´Ù. ¾îÇø®ÄÉÀ̼ÇÀº,DataLine
ÀÎÅÍÆäÀ̽º·Î Á¤ÀǵÈ
¸Þ¼µå¸¦ »ç¿ëÇØ, µ¥ÀÌÅÍ ¶óÀÎÀÇ ¹öÆÛ·Î ÇöÀç Å¥¿¡ µé¾î°¡ ÀÖ´Â µ¥ÀÌÅÍÀÇ ¾çÀ» ÆÇº°ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ºí·Ï ÇÏÁö ¾Ê°í ¹öÆÛ¿¡ ±âÀÔÇÒ ¼ö ÀÖ´Â µ¥ÀÌÅÍ·®Àº, ¹öÆÛ »çÀÌÁî¿Í Å¥¿¡ µé¾î°¡ ÀÖ´Â µ¥ÀÌÅÍ·®°úÀÇ Â÷ÀÌÀÔ´Ï´Ù. ¾ð´õ Ç÷οì(underflow)¸¦ À§Çؼ ¿Àµð¿À Ãâ·ÂÀÇ Àü´ÞÀÌ Á¤ÁöÇßÀ» °æ¿ì´Â
available
À̺¥Æ®°¡ »ý¼ºµË´Ï´Ù. ¿Àµð¿À Ãâ·ÂÀÌ Àç°³Çϸé,STOP
À̺¥Æ®°¡ »ý¼ºµË´Ï´Ù.
START
Mixer
,
DataLine
,
TargetDataLine
Áßø(Nested) Ŭ·¡½º °³¿ä |
---|
ÀÎÅÍÆäÀ̽º javax.sound.sampled. DataLine ·ÎºÎÅÍ »ó¼ÓµÈ Áßø(Nested) Ŭ·¡½º/ÀÎÅÍÆäÀ̽º |
---|
DataLine.Info |
¸Þ¼µå °³¿ä | |
---|---|
void |
open (AudioFormat format)
ÁöÁ¤µÈ Çü½Ä¿¡¼ ¶óÀÎÀ» ¿¾î, ¶óÀÎÀÌ ÇÊ¿äÇÑ system resource¸¦ ȹµæÇØ Á¶ÀÛ °¡´ÉÇÏ°Ô µÇµµ·Ï ÇÕ´Ï´Ù. |
void |
open (AudioFormat format,
int bufferSize)
ÁöÁ¤µÈ Çü½Ä°ú ÁöÁ¤µÈ ¹öÆÛ »çÀÌÁî·Î ¶óÀÎÀ» ¿¾î, ¶óÀÎÀÌ ÇÊ¿äÇÑ system resource¸¦ ȹµæÇØ Á¶ÀÛ °¡´ÉÇÏ°Ô µÇµµ·Ï ÇÕ´Ï´Ù. |
int |
write (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 °¡ Throw µÇ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù. ¿¬ ¶óÀÎÀÇ ½ÇÁ¦ÀÇ ¹öÆÛ »çÀÌÁî´Â
ÁöÁ¤ÇÑ ¹öÆÛ »çÀÌÁî¿Í´Â ´Ù¸¥ ÀÏÀÌ ÀÖ½À´Ï´Ù. ½ÇÁ¦·Î ¼³Á¤µÈ °ªÀº, °è¼ÓµÇ¾î
¸¦
È£ÃâÇϸé Á¶È¸ÇÒ ¼ö ÀÖ½À´Ï´Ù.
DataLine.getBufferSize()
ÀÌ Á¶ÀÛÀÌ ¼º°øÇϸé, ¶óÀÎÀº ¿·Á ÀÖ´Â »óÅ·μ ¸¶Å© µÇ¾î
À̺¥Æ®°¡ ¶óÀÎÀÇ ¸®½º³Ê¿¡°Ô µð½ºÆÐÄ¡ µË´Ï´Ù.
OPEN
¹ú½á ¿·Á ÀÖ´Â ¶óÀο¡ ´ëÇØ¼ ÀÌ ¸Þ¼µå¸¦ È£ÃâÇÏ´Â °ÍÀº ¹«È¿À̸ç,IllegalStateException
°¡ Throw µÇ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù.
¶óÀο¡ µû¶ó¼´Â
ÇÑ ¹ø ´ÝÀ¸¸é ÀçÂ÷ ¿ ¼ö°¡ ¾ø´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ¶óÀÎÀ» ÀçÂ÷ ¿·Á°í Çϸé, Ç×»ó LineUnavailableException
°¡ Throw µË´Ï´Ù.
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
°¡ Throw µÇ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù.
¶óÀο¡ µû¶ó¼´Â
ÇÑ ¹ø ´ÝÀ¸¸é ÀçÂ÷ ¿ ¼ö°¡ ¾ø´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ¶óÀÎÀ» ÀçÂ÷ ¿·Á°í Çϸé, Ç×»ó LineUnavailableException
°¡ Throw µË´Ï´Ù.
format
- ¼³Á¤ÇÏ°í ½ÍÀº ¿Àµð¿À Çü½Ä
LineUnavailableException
- ÀÚ¿øÀÇ Á¦¾àÀ» À§Çؼ ¶óÀÎÀ» ¿Áö ¾Ê´Â °æ¿ì
IllegalArgumentException
- format
ÁöÁ¤ÀÌ ºÒ¿ÏÀü ¶Ç´Â ¹«È¿ÀÎ °æ¿ì
IllegalStateException
- ¶óÀÎÀÌ ¹ú½á ¿·Á ÀÖ´Â °æ¿ì
SecurityException
- º¸¾È»óÀÇ Á¦¾àÀ» À§Çؼ ¶óÀÎÀ» ¿Áö ¾Ê´Â °æ¿ìopen(AudioFormat, int)
,
Line.open()
,
Line.close()
,
Line.isOpen()
,
LineEvent
int write(byte[] b, int off, int len)
available
¸¦
ÂüÁ¶), ¿ä±¸µÈ ¾çÀÇ µ¥ÀÌÅ͸¦ ±âÀÔÇØ ³¡³¾ ¶§±îÁö ÀÌ ¸Þ¼µå´Â ºí·Ï µË´Ï´Ù. À̰ÍÀº, ±âÀÔÀÌ ¿ä±¸µÈ µ¥ÀÌÅÍÀÇ ¾çÀÌ µ¥ÀÌÅÍ ¶óÀÎÀÇ ¹öÆÛ »çÀÌÁ´Ù Å« °æ¿ì¿¡µµ µé¾î¸ÂÀ¾´Ï´Ù. ´Ù¸¸, ¿ä±¸µÈ ¾çÀÇ ±âÀÔÀÌ ³¡³ª±â Àü¿¡ µ¥ÀÌÅÍ ¶óÀÎÀÌ Å¬·Î¿ìÁî, Á¤Áö, ¶Ç´Â Ç÷¡½Ã µÇ¾úÀ» °æ¿ì´Â
¸Þ¼µåÀÇ ºí·ÏÀÌ ÇØÁ¦µÇ¾î, ±×¶§±îÁö ±âÀÔÇØÁø ¹ÙÀÌÆ®¼ö°¡ µ¹·ÁÁÖ°íÁý´Ï´Ù.
ºí·Ï µÇÁö ¾Ê°í ±âÀÔÇÒ ¼ö ÀÖ´Â ¹ÙÀÌÆ®¼ö´Â
DataLine
ÀÎÅÍÆäÀ̽ºÀÇ
¸Þ¼µå¸¦ »ç¿ëÇØ È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¹ÙÀÌÆ®¼ö´Â ºí·Ï µÇÁö ¾Ê°í È®½ÇÈ÷ ±âÀÔÇÒ ¼ö ÀÖ½À´Ï´Ù¸¸, Ãß°¡ µ¥ÀÌÅ͸¦ ±âÀÔÇÏ·Á°í ÇßÀ» ¶§¿¡ ºí·Ï µÉÁö ¾î¶³Áö´Â È®½ÇÇÏÁö´Â ¾Ê½À´Ï´Ù.
available
±âÀÔÇÏ´Â ¹ÙÀÌÆ®¼ö´Â
»ùÇà frame sizeÀÇ ¹è¼öÀÎ °ÍÀÌ ÇÊ¿äÇÕ´Ï´Ù. Áï, ´ÙÀ½ÀÇ Á¶°ÇÀ» ä¿ì°í ÀÖÀ» Çʿ䰡 ÀÖ½À´Ï´Ù.
[±âÀÔÇØÁö´Â ¹ÙÀÌÆ®¼ö] % [frame sizeÀÇ ¹ÙÀÌÆ®¼ö] == 0
IllegalArgumentException
°¡ Throw µÇ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù.
b
- µ¥ÀÌÅÍ ¶óÀο¡ ±âÀÔÇØÁö´Â µ¥ÀÌÅ͸¦ Æ÷ÇÔÇÑ ¹ÙÀÌÆ® ¹è¿len
- ¹ÙÀÌÆ® ´ÜÀ§¿¡¼ÀÇ ¹è¿ÀÇ À¯È¿ µ¥ÀÌÅÍÀÇ ±æÀÌ (Áï, ¹ÙÀÌÆ® ´ÜÀ§¿¡¼ÀÇ ±âÀÔÇØ ¿ä±¸ µ¥ÀÌÅÍÀÇ ¾ç)off
- ¹è¿ÀÇ ¼±µÎ·ÎºÎÅÍÀÇ ¿ÀÇÁ¼Â(offset), ¹ÙÀÌÆ® ´ÜÀ§
IllegalArgumentException
- ¿ä±¸µÈ ¹ÙÀÌÆ®¼ö°¡ »ùÇà frame sizeÀÇ ¹è¼ö°¡ ¾Æ´Ñ °æ¿ì, ¶Ç´Â len
°¡ ºÎÀÇ °æ¿ì
ArrayIndexOutOfBoundsException
- off
°¡ ºÎÀÇ °æ¿ì, ¶Ç´Â off+len
°¡ ¹è¿ b
±æÀ̺¸´Ù Å« °æ¿ìTargetDataLine.read(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 µµ ÂüÁ¶ÇϽʽÿÀ.