|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
ÀÌÀü Ŭ·¡½º ´ÙÀ½ Ŭ·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
°³¿ä: »óÀÚ | Çʵå | »ý¼ºÀÚ | ¸Þ¼µå | »ó¼¼: Çʵå | »ý¼ºÀÚ | ¸Þ¼µå |
public interface DataLine
DataLine
´Â
¹Ìµð¾î °ü·ÃÀÇ ±â´ÉÀ» ±× ½´ÆÛ ÀÎÅÍÆäÀ̽º,
¿¡ Ãß°¡ÇÕ´Ï´Ù. ÀÌ ±â´É¿¡´Â ¶óÀÎÀ» °³ÀÔ½ÃÄÑ °Ç³×¹Þ´Â ¿Àµð¿À µ¥ÀÌÅ͸¦ °³½Ã, Á¤Áö, ¹èÃâ ¹× Ç÷¡½Ã ÇÏ´Â ÀÌ¼Û Á¦¾î ¸Þ¼µå°¡ Æ÷ÇԵ˴ϴÙ. µ¥ÀÌÅÍ ¶óÀÎÀº ÇöÀçÀÇ À§Ä¡, º¼·ý, ¹Ìµð¾îÀÇ ¿Àµð¿À Çü½Ä¿¡ ´ëÇØ¼µµ ¸®Æ÷Æ®ÇÒ ¼ö ÀÖ½À´Ï´Ù. µ¥ÀÌÅÍ ¶óÀÎÀº ÀÀ¿ë ÇÁ·Î±×·¥À¸·Î µ¥ÀÌÅÍÀÇ write¸¦ °¡´ÉÇÏ°Ô ÇÏ´Â ¼ºê ÀÎÅÍÆäÀ̽º, Line
¶Ç´Â SourceDataLine
¿¡
ÀÇÇØ ¿Àµð¿ÀÀÇ Ãâ·Â¿ëÀ¸·Î »ç¿ëµË´Ï´Ù. °°ÀÌ ¿Àµð¿À ÀÔ·ÂÀº µ¥ÀÌÅÍÀÇ µ¶Çظ¦ °¡´ÉÇÏ°Ô ÇÏ´Â ¼ºê ÀÎÅÍÆäÀ̽º, Clip
·Î
󸮵˴ϴÙ.
TargetDataLine
µ¥ÀÌÅÍ ¶óÀο¡´Â ¼ö½Å ¶Ç´Â ¼Û½Å ¿Àµð¿À µ¥ÀÌÅ͸¦ Å¥¿¡ ³Ö´Â ³»ºÎ ¹öÆÛ°¡ ÀÖ½À´Ï´Ù. º¸Åë
Å¥¿¡ ³Ö¾îÁø µ¥ÀÌÅÍ´Â ¸ðµÎ 󸮵DZ⠶§¹®¿¡
¸Þ¼µå´Â ³»ºÎ ¹öÆÛ°¡ ºñ¿ï ¶§±îÁö ºí·Ï µË´Ï´Ù. drain()
¸Þ¼µå´Â ³»ºÎ ¹öÆÛ·ÎºÎÅÍ Å¥¿¡ ³Ö¾îÁø »ç¿ë °¡´ÉÇÑ µ¥ÀÌÅ͸¦ ¸ðµÎ ÆÄ±âÇÕ´Ï´Ù.
flush()
µ¥ÀÌÅÍ ¶óÀÎÀº µ¥ÀÌÅÍÀÇ È°¼ºÈµÈ Ç¥½Ã³ª È¥ÀâÀÌ °³½Ã ¶Ç´Â Á¤ÁöµÇ¸é, Ç×»ó
¹× START
À̺¥Æ®¸¦ »ý¼ºÇÕ´Ï´Ù. ÀÌ·¯ÇÑ À̺¥Æ®´Â ƯÁ¤ÀÇ ¿ä±¸¿¡ ÀÀ´äÇØ, ¶Ç´Â Á÷Á¢ º¯°æµÈ »óŰ¡ ÀûÀº °æ¿ì¿¡ »ý¼ºµË´Ï´Ù. ¿¹¸¦ µé¾î, STOP
°¡ Ȱ¼ºÈµÇÁö
¾ÊÀº µ¥ÀÌÅÍ ¶óÀο¡ ºÒ·Á°¡
µ¥ÀÌÅÍÀÇ ¼öÁß¿¡ ³Ö¾î ¶Ç´Â Àç»ýÀÌ °¡´ÉÇÑ °æ¿ì´Â ½ÇÁ¦·Î µ¥ÀÌÅÍÀÇ Àç»ýÀ̳ª È¥ÀâÀ» °³½ÃÇϸé start()
START
À̺¥Æ®°¡ Áï½Ã »ý¼ºµË´Ï´Ù. ȤÀº Ȱ¼ºÈµÈ µ¥ÀÌÅÍ ¶óÀο¡ ´ëÇÑ µ¥ÀÌÅÍÀÇ Ç÷ο츦 ¼öÃàÇÑ °á°ú, µ¥ÀÌÅÍÀÇ Ç¥½Ã¿¡ °¸ÀÌ »ý±â¸é, STOP
À̺¥Æ®°¡ »ý¼ºµË´Ï´Ù.
¹Í¼´Â º¹¼öÀÇ µ¥ÀÌÅÍ ¶óÀÎÀÇ µ¿±â Á¦¾î¸¦ Áö¿øÇÏ´ÂÀÎ °æ¿ì°¡ ÀÚÁÖ ÀÖ½À´Ï´Ù. µ¿±âÈ´Â ¹Í¼ ÀÎÅÍÆäÀ̽ºÀÇ
¸Þ¼µå¸¦ °³ÀÔ½ÃÄÑ È®¸³ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÚ¼¼ÇÑ ³»¿ëÀº synchronize
ÀÎÅÍÆäÀ̽ºÀÇ ¼³¸íÀ» ÂüÁ¶ÇϽʽÿÀ.
Mixer
LineEvent
Áßø(Nested) Ŭ·¡½º °³¿ä | |
---|---|
static class |
DataLine.Info
½´ÆÛ Ŭ·¡½º·ÎºÎÅÍ »ó¼ÓµÈ Ŭ·¡½º Á¤º¸ À̿ܿ¡ DataLine.Info ´Â µ¥ÀÌÅÍ ¶óÀο¡ °íÀ¯ÀÇ Ãß°¡ Á¤º¸¸¦ Á¦°øÇÕ´Ï´Ù. |
¸Þ¼µå °³¿ä | |
---|---|
int |
available ()
¾îÇø®ÄÉÀ̼ÇÀÌ µ¥ÀÌÅÍ ¶óÀÎÀÇ ³»ºÎ ¹öÆÛ³»¿¡¼ ÇöÀç ó¸®ÇÒ ¼ö ÀÖ´Â µ¥ÀÌÅÍÀÇ ¹ÙÀÌÆ®¼ö¸¦ ÃëµæÇÕ´Ï´Ù. |
void |
drain ()
µ¥ÀÌÅÍÀÇ ÀÔÃâ·ÂÀ» µ¥ÀÌÅÍ ¶óÀÎÀÇ ³»ºÎ ¹öÆÛ°¡ ºñ¿ï ¶§±îÁö °è¼ÓÇØ, ±× ¶óÀÎÀ¸·ÎºÎÅÍ Å¥¿¡ µé¾î°¡ ÀÖ´Â µ¥ÀÌÅ͸¦ ¹èÃâÇÕ´Ï´Ù. |
void |
flush ()
¶óÀÎÀ¸·ÎºÎÅÍ Å¥¿¡ µé¾î°¡ ÀÖ´Â µ¥ÀÌÅ͸¦ Ç÷¡½Ã ÇÕ´Ï´Ù. |
int |
getBufferSize ()
µ¥ÀÌÅÍ ¶óÀÎÀÇ ³»ºÎ ¹öÆÛ³»¿¡ µé¾î°¡´Â µ¥ÀÌÅÍÀÇ ÃÖ´ë ¹ÙÀÌÆ®¼ö¸¦ ÃëµæÇÕ´Ï´Ù. |
AudioFormat |
getFormat ()
µ¥ÀÌÅÍ ¶óÀÎÀÇ ¿Àµð¿À µ¥ÀÌÅÍÀÇ ÇöÀçÀÇ Çü½Ä (ÀÎÄÚµù, »ùÇà ·¹ÀÌÆ®, ä³Î¼öµî)À» ÃëµæÇÕ´Ï´Ù. |
int |
getFramePosition ()
¿Àµð¿À µ¥ÀÌÅÍÀÇ ÇöÀçÀÇ À§Ä¡¸¦ »ùÇà ÇÁ·¹ÀÓ¼ö·Î ÃëµæÇÕ´Ï´Ù. |
float |
getLevel ()
¶óÀÎÀÇ ÇöÀçÀÇ º¼·ý ·¹º§À» ÃëµæÇÕ´Ï´Ù. |
long |
getLongFramePosition ()
¿Àµð¿À µ¥ÀÌÅÍÀÇ ÇöÀçÀÇ À§Ä¡¸¦ »ùÇà ÇÁ·¹ÀÓ¼ö·Î ÃëµæÇÕ´Ï´Ù. |
long |
getMicrosecondPosition ()
¿Àµð¿À µ¥ÀÌÅͳ»ÀÇ ÇöÀçÀÇ À§Ä¡¸¦ ¸¶ÀÌÅ©·Î ¼¼ÄÁµå ´ÜÀ§·Î ÃëµæÇÕ´Ï´Ù. |
boolean |
isActive ()
¶óÀÎÀÌ È°¼ºÈµÈ ÀÔÃâ·Â (Àç»ýÀ̳ª È¥Àâµî)À» ½ÇÇàÇϰí ÀÖÀ»Áö ¾î¶³Áö¸¦ ³ªÅ¸³À´Ï´Ù. |
boolean |
isRunning ()
¶óÀÎÀÌ ½ÇÇàÁßÀΰ¡ ¾î¶²°¡¸¦ ³ªÅ¸³À´Ï´Ù. |
void |
start ()
¶óÀο¡¼ÀÇ µ¥ÀÌÅÍ ÀÔÃâ·ÂÀ» °¡´ÉÇÏ°Ô ÇÕ´Ï´Ù. |
void |
stop ()
¶óÀÎÀ» Á¤ÁöÇÕ´Ï´Ù. |
ÀÎÅÍÆäÀ̽º javax.sound.sampled. Line ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼µå |
---|
addLineListener,
close,
getControl,
getControls,
getLineInfo,
isControlSupported,
isOpen,
open,
removeLineListener |
¸Þ¼µåÀÇ »ó¼¼ |
---|
void drain()
drain()
¸¦ È£ÃâÇϸé, ¶óÀÎÀÌ ½ÇÇàµÇ¾î µ¥ÀÌÅÍ Å¥°¡ ºñ¿ï ¶§±îÁö ÀÌ ¸Þ¼µå´Â ºí·Ï µË´Ï´Ù. drain()
¸¦ 1°³ÀÇ thread·Î È£ÃâÇØ, ´Ù¸¥ thread·Î µ¥ÀÌÅÍ Å¥ÀÇ Æ÷ÇÔÀ» °è¼ÓÇϸé, Á¶ÀÛÀº ¿Ï·áÇÏÁö ¾Ê½À´Ï´Ù. ÀÌ ¸Þ¼µå´Â µ¥ÀÌÅÍ ¶óÀÎÀÌ ´ÝÀ¸¸é Ç×»ó ¸®Åϵ˴ϴÙ
.
flush()
void flush()
stop()
,
drain()
void start()
START
À̺¥Æ®°¡ »ý¼ºµË´Ï´Ù.
stop()
,
isRunning()
,
LineEvent
void stop()
flush
¸Þ¼µå¸¦ È£ÃâÇØ º¸°ü À¯ÁöµÇ°í ÀÖ´Â µ¥ÀÌÅ͸¦ ÆÄ±âÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿Àµð¿À ¼öÁß¿¡ ³Ö¾î ¶Ç´Â Àç»ýÀ» Á¤ÁöÇϸé, STOP
À̺¥Æ®°¡ »ý¼ºµË´Ï´Ù.
start()
,
isRunning()
,
flush()
,
LineEvent
boolean isRunning()
false
ÀÔ´Ï´Ù. ¿¸° ¶óÀÎÀº, start
¸Þ¼µåÀÇ È£Ãâ¿¡ ÀÀÇØ ÃÖÃÊÀÇ µ¥ÀÌÅͰ¡ Á¦½ÃµÇ¸é ½ÇÇàÀÌ ½ÃÀ۵Ǿî
stop
¸Þ¼µåÀÇ È£Ãâ¿¡ ÀÀÇØ, ȤÀº Àç»ýÀÌ ¿Ï·áÇØ, Ç¥½ÃµÇÁö ¾Ê°Ô µÉ ¶§±îÁö °è¼ÓÇØ ½ÇÇàµË´Ï´Ù.
true
, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false
start()
,
stop()
boolean isActive()
START
À̺¥Æ®¸¦ ±× ¸®½º³Ê¿¡°Ô ¼Û½ÅÇÕ´Ï´Ù. °°ÀÌ È°¼ºÈµÈ ¶óÀÎÀÌ È°¼ºÈµÇÁö
¾Ê°Ô µÇ¸é, ¶óÀÎÀº STOP
À̺¥Æ®¸¦ ¼Û½ÅÇÕ´Ï´Ù.
true
, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false
Line.isOpen()
,
Line.addLineListener(javax.sound.sampled.LineListener)
,
Line.removeLineListener(javax.sound.sampled.LineListener)
,
LineEvent
,
LineListener
AudioFormat getFormat()
ÇöÀç ¿Áö ¾Ê°í, Áö±Ý±îÁöµµ ¿¾ú´ø ÀûÀÌ ¾ø´Â ¶óÀÎÀº µðÆúÆ®ÀÇ Çü½ÄÀ» ¸®ÅÏÇÕ´Ï´Ù. µðÆúÆ®ÀÇ Çü½ÄÀº ±¸Çö °íÀ¯ÀÇ ¿Àµð¿À Çü½ÄÀÌ µË´Ï´Ù. ¶Ç´Â DataLine.Info
°´Ã¼ (ÀÌ DataLine
Ãëµæ¿¡ »ç¿ë)°¡ 1°³
ÀÌ»óÀÇ ¿ÏÀü ¼ö½Ä ¿Àµð¿À Çü½ÄÀ» ÁöÁ¤ÇÏ´Â °æ¿ì, ¸¶Áö¸· °ÍÀÌ µðÆúÆ®ÀÇ Çü½ÄÀÌ µË´Ï´Ù. ƯÁ¤ÀÇ ¿Àµð¿À Çü½Ä (SourceDataLine.open(AudioFormat)
µî)À¸·Î ¶óÀÎÀ» ¿¸é, µðÆúÆ®ÀÇ Çü½ÄÀº ¿À¹ö¶óÀ̵å(override) µË´Ï´Ù.
AudioFormat
int getBufferSize()
int available()
»ç¿ëµÇ´Â ´ÜÀ§´Â ¹ÙÀÌÆ®ÀÔ´Ï´Ù¸¸, ´ÜÀ§´Â ¿Àµð¿À µ¥ÀÌÅÍÀÇ »ùÇà ÇÁ·¹ÀÓÀÇ ÀûºÐ¼ö¿¡ Ç×»ó ÀÏÄ¡ÇÕ´Ï´Ù.
¾îÇø®ÄÉÀ̼ǿ¡¼´Â available()
·Î
ºÎÅÍ ¸®ÅÏµÈ ¹ÙÀÌÆ®¼ö±îÁöÀÇ Àо ¶Ç´Â Ãâ·ÂÁ¶ÀÛÀº ºí·Ï µÇÁö ¾Ê½À´Ï´Ù. ´Ù¸¸, ±× ¹ÙÀÌÆ®¼öº¸´Ù ¸¹Àº µ¥ÀÌÅÍÀÇ Àо ¶Ç´Â Ãâ·ÂÁ¶ÀÛÀ» ½ÇÇàÇÏ¸é ºí·Ï µÉÁö ¾î¶³Áö È®½ÇÇÏÁö´Â ¾Ê½À´Ï´Ù.
int getFramePosition()
getLongFramePosition
À»
»ç¿ëÇÏ´Â °ÍÀ» ÃßõÇÕ´Ï´Ù.
getLongFramePosition()
long getLongFramePosition()
long getMicrosecondPosition()
float getLevel()
AudioSystem.NOT_SPECIFIED
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
ÀÌÀü Ŭ·¡½º ´ÙÀ½ Ŭ·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
°³¿ä: »óÀÚ | Çʵå | »ý¼ºÀÚ | ¸Þ¼µå | »ó¼¼: Çʵå | »ý¼ºÀÚ | ¸Þ¼µå |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy µµ ÂüÁ¶ÇϽʽÿÀ.