|
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°¡ ¹ß»ýµÇ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù. ¿¬ ¶óÀÎÀÇ ½ÇÁ¦ÀÇ ¹öÆÛ »çÀÌÁî´Â ÁöÁ¤ÇÑ ¹öÆÛ »çÀÌÁî¿Í´Â ´Ù¸¥ ÀÏÀÌ ÀÖ½À´Ï´Ù. ½ÇÁ¦·Î ¼³Á¤µÈ °ªÀº °è¼ÓµÇ¾î
¸¦ È£ÃâÇϸé Á¶È¸ÇÒ ¼ö ÀÖ½À´Ï´Ù.
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 write(byte[] b, int off, int len)
available
¸¦ ÂüÁ¶), ¿ä±¸µÈ ¾çÀÇ µ¥ÀÌÅ͸¦ Ãâ·Â³¡³¾ ¶§±îÁö ÀÌ ¸Þ¼µå´Â ºí·Ï µË´Ï´Ù. À̰ÍÀº Ãâ·ÂÀÌ ¿ä±¸µÈ µ¥ÀÌÅÍÀÇ ¾çÀÌ µ¥ÀÌÅÍ ¶óÀÎÀÇ ¹öÆÛ »çÀÌÁ´Ù Å« °æ¿ì¿¡µµ µé¾î¸ÂÀ¾´Ï´Ù. ´Ù¸¸, ¿ä±¸µÈ ¾çÀÇ Ãâ·ÂÀÌ ³¡³ª±â Àü¿¡ µ¥ÀÌÅÍ ¶óÀÎÀÌ Å¬·Î¿ìÁî, Á¤Áö, ¶Ç´Â Ç÷¡½Ã µÇ¾úÀ» °æ¿ì´Â ¸Þ¼µåÀÇ ºí·ÏÀÌ ÇØÁ¦µÇ¾î, ±×¶§±îÁö Ãâ·ÂÇØÁø ¹ÙÀÌÆ®¼ö°¡ ¸®Åϵ˴ϴÙ
.
ºí·Ï µÇÁö ¾Ê°í Ãâ·ÂÇÒ ¼ö ÀÖ´Â ¹ÙÀÌÆ®¼ö´Â DataLine
ÀÎÅÍÆäÀ̽ºÀÇ
¸Þ¼µå¸¦ »ç¿ëÇØ È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¹ÙÀÌÆ®¼ö´Â ºí·Ï µÇÁö ¾Ê°í È®½ÇÈ÷ Ãâ·ÂÇÒ ¼ö ÀÖ½À´Ï´Ù¸¸, Ãß°¡ µ¥ÀÌÅ͸¦ Ãâ·ÂÇÏ·Á°í ÇßÀ» ¶§¿¡ ºí·Ï µÉÁö ¾î¶³Áö´Â È®½ÇÇÏÁö´Â ¾Ê½À´Ï´Ù.
available
Ãâ·ÂÇÏ´Â ¹ÙÀÌÆ®¼ö´Â »ùÇà frame sizeÀÇ ¹è¼öÀÎ °ÍÀÌ ÇÊ¿äÇÕ´Ï´Ù. Áï, ´ÙÀ½ÀÇ Á¶°ÇÀ» ä¿ì°í ÀÖÀ» Çʿ䰡 ÀÖ½À´Ï´Ù.
[Ãâ·ÂÇØÁö´Â ¹ÙÀÌÆ®¼ö] % [frame sizeÀÇ ¹ÙÀÌÆ®¼ö] == 0
IllegalArgumentException
°¡ ¹ß»ýµÇ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù.
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 µµ ÂüÁ¶ÇϽʽÿÀ.