MID ÇÁ·ÎÇÊ

javax.microedition.media
Class Manager

java.lang.Object
  |
  +--javax.microedition.media.Manager

public final class Manager
extends Object

Manager´Â ¸ÖƼ¹Ìµð¾î¸¦ ó¸®ÇÏ´Â Player¿Í °°Àº ½Ã½ºÅÛ Á¾¼Ó ÀÚ¿øÀ» ¾ò±â À§ÇÑ ¾×¼¼½º Æ÷ÀÎÆ®ÀÔ´Ï´Ù.

Player´Â µ¥ÀÌÅÍÀÇ ³»¿ë À¯Çü¿¡ ÀûÇÕÇÑ ¹Ìµð¾î¸¦ Á¦¾îÇÏ°í ·»´õ¸µÇÏ´Â µ¥ »ç¿ëÇÏ´Â °´Ã¼ÀÔ´Ï´Ù.

Manager¿¡¼­´Â Player¸¦ ±¸¼ºÇϱâ À§ÇÑ ±¸Çöº° ±â¹ý¿¡ ¾×¼¼½ºÇÒ ¼ö ÀÖ½À´Ï´Ù.

ÆíÀÇ»ó Manager´Â ´Ü¼ø ÅæÀ» »ý¼ºÇϱâ À§ÇÑ °£¼ÒÈ­µÈ ¸Þ¼Òµåµµ Á¦°øÇÕ´Ï´Ù.

´Ü¼ø Åæ »ý¼º

ÀÌ playTone ±â´ÉÀº ÅæÀ» »ý¼ºÇϱâ À§ÇØ Á¤ÀǵǾú½À´Ï´Ù. À½Ç¥¿Í Àç»ý ½Ã°£ÀÌ ÁÖ¾îÁö¸é ÀÌ ±â´ÉÀº ÁöÁ¤µÈ ÅæÀ» »ý¼ºÇÕ´Ï´Ù.

Player ¸¸µé±â

Manager´Â ¹Ìµð¾î¸¦ Àç»ýÇÏ´Â Player¸¦ ¸¸µé±â À§ÇÑ µÎ °¡Áö ¸Þ¼Òµå¸¦ Á¦°øÇÕ´Ï´Ù. ¹ÝȯµÈ Player´Â ¹Ìµð¾îÀÇ Ç¥½Ã¸¦ Á¦¾îÇÏ´Â µ¥ »ç¿ëµÉ ¼ö ÀÖ½À´Ï´Ù.

³»¿ë À¯Çü

³»¿ë À¯ÇüÀº ¹Ìµð¾î µ¥ÀÌÅÍÀÇ À¯ÇüÀ» ½Äº°ÇÕ´Ï´Ù. ³»¿ë À¯ÇüÀº µî·ÏµÈ MIME À¯Çü( http://www.iana.org/assignments/media-types/)°ú ÀϹÝÀûÀ¸·Î MIME ±¸¹®(RFC 2045, RFC 2046)À» µû¸£´Â ¸î¸î »ç¿ëÀÚ Á¤ÀÇ À¯ÇüÀ¸·Î Á¤Àǵ˴ϴÙ.

¿¹¸¦ µé¾î, ÀϹÝÀûÀÎ ³»¿ë À¯ÇüÀº ´ÙÀ½°ú °°½À´Ï´Ù.

  1. Wave ¿Àµð¿À ÆÄÀÏ: audio/x-wav
  2. AU ¿Àµð¿À ÆÄÀÏ: audio/basic
  3. MP3 ¿Àµð¿À ÆÄÀÏ: audio/mpeg
  4. MIDI ÆÄÀÏ: audio/midi
  5. Åæ ½ÃÄö½º: audio/x-tone-seq

¹Ìµð¾î ·ÎÄÉÀÌÅÍ

¹Ìµð¾î ·ÎÄÉÀÌÅÍ´Â ´ÙÀ½°ú °°Àº Çü½ÄÀÇ URI ±¸¹®¿¡ ÁöÁ¤µÇ¾î ÀÖ½À´Ï´Ù.

    <scheme>:<scheme-specific-part>

·ÎÄÉÀÌÅÍ ¹®ÀÚ¿­ÀÇ "scheme" ºÎºÐÀº µ¥ÀÌÅÍ Àü´Þ¿¡ »ç¿ëµÉ ÇÁ·ÎÅäÄÝÀÇ À̸§À» ½Äº°ÇÕ´Ï´Ù.

See Also:
Player

Field Summary
static String TONE_DEVICE_LOCATOR
          Åæ ½ÃÄö½º¸¦ Àç»ýÇϱâ À§ÇÑ Åæ Player¸¦ ¸¸µå´Â ·ÎÄÉÀÌÅÍ.
 
Method Summary
static Player createPlayer(InputStream stream, String type)
          InputStream¿¡¼­ ¹Ìµð¾î¸¦ Àç»ýÇϱâ À§ÇØ Player¸¦ ¸¸µì´Ï´Ù.
static Player createPlayer(String locator)
          ÀÔ·Â ·ÎÄÉÀÌÅÍ¿¡¼­ Player¸¦ ¸¸µì´Ï´Ù.
static String[] getSupportedContentTypes(String protocol)
          ÁÖ¾îÁø ÇÁ·ÎÅäÄÝ¿¡ ´ëÇØ Áö¿øµÇ´Â ³»¿ë À¯Çü ¸ñ·ÏÀ» ¹ÝȯÇÕ´Ï´Ù.
static String[] getSupportedProtocols(String content_type)
          Á¦°øµÈ ³»¿ë À¯ÇüÀ» Áö¿øÇÏ´Â ÇÁ·ÎÅäÄÝÀÇ ¸ñ·ÏÀ» ¹ÝȯÇÕ´Ï´Ù.
static void playTone(int note, int duration, int volume)
          À½Ç¥¿Í Àç»ý ½Ã°£¿¡ ÀÇÇØ ÁöÁ¤µÈ ´ë·Î ÅæÀ» Àç»ýÇÕ´Ï´Ù.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

TONE_DEVICE_LOCATOR

public static final String TONE_DEVICE_LOCATOR
Åæ ½ÃÄö½º¸¦ Àç»ýÇϱâ À§ÇÑ Åæ Player¸¦ ¸¸µå´Â ·ÎÄÉÀÌÅÍ. ¿¹¸¦ µé¸é ´ÙÀ½°ú °°½À´Ï´Ù.
 try {
     Player p = Manager.createPlayer(Manager.TONE_DEVICE_LOCATOR);
     p.realize();
     ToneControl tc = (ToneControl)p.getControl("ToneControl");
     tc.setSequence(mySequence);
     p.start();
 } catch (IOException ioe) {
 } catch (MediaException me) {}
Åæ ½ÃÄö½º°¡ ToneControlÀ» ÅëÇØ Åæ Player¿¡ ¼³Á¤µÇÁö ¾ÊÀº °æ¿ì Player´Â ¾î¶² ½ÃÄö½ºµµ ½ÇÇàÇÏÁö ¾Ê½À´Ï´Ù. getDurationÀº ÀÌ·¯ÇÑ Player¿¡ ´ëÇØ 0À» ¹ÝȯÇÕ´Ï´Ù.

ÀÌ ·ÎÄÉÀÌÅÍ¿¡¼­ ¸¸µç PlayerÀÇ ³»¿ë À¯ÇüÀº audio/x-tone-seqÀÔ´Ï´Ù.

¸ðµç ±¸Çö¿¡ ´ëÇØ ÀÌ ·ÎÄÉÀÌÅÍÀÇ Player°¡ Áö¿øµÇ´Â °ÍÀº ¾Æ´Õ´Ï´Ù.

"device://tone" °ªÀÌ TONE_DEVICE_LOCATOR¿¡ ÁöÁ¤µË´Ï´Ù.

See Also:
Constant Field Values
Method Detail

getSupportedContentTypes

public static String[] getSupportedContentTypes(String protocol)
ÁÖ¾îÁø ÇÁ·ÎÅäÄÝ¿¡ ´ëÇØ Áö¿øµÇ´Â ³»¿ë À¯Çü ¸ñ·ÏÀ» ¹ÝȯÇÕ´Ï´Ù.

¹ÝȯµÈ ³»¿ë À¯ÇüÀÇ ±¸¹®Àº ³»¿ë À¯ÇüÀ» ÂüÁ¶ÇϽʽÿÀ. »ç¿ëµÈ ÇÁ·ÎÅäÄÝÀÇ ±¸¹®Àº ÇÁ·ÎÅäÄÝ À̸§À» ÂüÁ¶ÇϽʽÿÀ.

¿¹¸¦ µé¾î, ÁÖ¾îÁø protocolÀÌ "http"À̸é http ÇÁ·ÎÅäÄÝ·Î Àç»ýÇÒ ¼ö ÀÖ´Â Áö¿øµÇ´Â ³»¿ë À¯ÇüÀÌ ¹ÝȯµË´Ï´Ù.

protocol·Î nullÀÌ Àü´ÞµÈ °æ¿ì¿¡´Â ÀÌ ±¸ÇöÀ» Áö¿øÇÏ´Â ¸ðµç ³»¿ë À¯ÇüÀÌ ¹ÝȯµË´Ï´Ù. ¹ÝȯµÈ ¹è¿­Àº ºñ¾î ÀÖÀ¸¸é ¾È µË´Ï´Ù.

ÁÖ¾îÁø protocolÀÌ À¯È¿ÇÏÁö ¾Ê°Å³ª Áö¿øµÇÁö ¾Ê´Â ÇÁ·ÎÅäÄÝÀÌ¸é ºó ¹è¿­ÀÌ ¹ÝȯµË´Ï´Ù.

Parameters:
protocol - Áö¿øµÇ´Â ³»¿ë À¯ÇüÀÇ ÀÔ·Â ÇÁ·ÎÅäÄÝ
Returns:
ÁÖ¾îÁø ÇÁ·ÎÅäÄÝÀ» Áö¿øÇÏ´Â ³»¿ë À¯Çü ¸ñ·Ï

getSupportedProtocols

public static String[] getSupportedProtocols(String content_type)
Á¦°øµÈ ³»¿ë À¯ÇüÀ» Áö¿øÇÏ´Â ÇÁ·ÎÅäÄÝÀÇ ¸ñ·ÏÀ» ¹ÝȯÇÕ´Ï´Ù. ÇÁ·ÎÅäÄÝÀº Player¸¦ ¸¸µå´Â µ¥ »ç¿ëÇÒ ¼ö ÀÖ´Â ·ÎÄÉÀÌÅ͸¦ ½Äº°ÇÏ´Â ¹®ÀÚ¿­·Î ¹ÝȯµË´Ï´Ù.

¹ÝȯµÈ ÇÁ·ÎÅäÄÝÀÇ ±¸¹®Àº ÇÁ·ÎÅäÄÝ À̸§À» ÂüÁ¶ÇϽʽÿÀ. »ç¿ëµÈ ³»¿ë À¯ÇüÀÇ ±¸¹®Àº ³»¿ë À¯ÇüÀ» ÂüÁ¶ÇϽʽÿÀ.

¿¹¸¦ µé¾î, ÁÖ¾îÁø content_typeÀÌ "audio/x-wav"À̸é audio/x-wav¸¦ Àç»ýÇÏ´Â µ¥ »ç¿ëÇÒ ¼ö ÀÖ´Â Áö¿øµÇ´Â ÇÁ·ÎÅäÄÝÀÌ ¹ÝȯµË´Ï´Ù.

content_typeÀ¸·Î nullÀÌ Àü´ÞµÇ¸é ÀÌ ±¸ÇöÀ» Áö¿øÇÏ´Â ¸ðµç ÇÁ·ÎÅäÄÝÀÌ ¹ÝȯµË´Ï´Ù. ¹ÝȯµÈ ¹è¿­Àº ºñ¾î ÀÖÀ¸¸é ¾È µË´Ï´Ù.

ÁÖ¾îÁø content_typeÀÌ À¯È¿ÇÏÁö ¾Ê°Å³ª Áö¿øµÇÁö ¾Ê´Â ³»¿ë À¯ÇüÀÌ¸é ºó ¹è¿­ÀÌ ¹ÝȯµË´Ï´Ù.

Parameters:
content_type - Áö¿øµÇ´Â ÇÁ·ÎÅäÄÝÀÇ ³»¿ë À¯Çü
Returns:
ÁÖ¾îÁø ³»¿ë À¯ÇüÀ» Áö¿øÇÏ´Â ÇÁ·ÎÅäÄÝ ¸ñ·Ï

createPlayer

public static Player createPlayer(String locator)
                           throws IOException,
                                  MediaException
ÀÔ·Â ·ÎÄÉÀÌÅÍ¿¡¼­ Player¸¦ ¸¸µì´Ï´Ù.

Parameters:
locator - ¹Ìµð¾î ³»¿ëÀ» ¼³¸íÇÏ´Â URI ±¸¹®ÀÇ ·ÎÄÉÀÌÅÍ ¹®ÀÚ¿­
Returns:
»õ Player
Throws:
IllegalArgumentException - locator°¡ nullÀÎ °æ¿ì ¹ß»ýÇÕ´Ï´Ù.
MediaException - ÁÖ¾îÁø ·ÎÄÉÀÌÅÍÀÇ Player¸¦ ¸¸µé ¼ö ¾ø´Â °æ¿ì ¹ß»ýÇÕ´Ï´Ù.
IOException - locator·Î ÁöÁ¤ÇÑ ¼Ò½º¿¡ ¿¬°áÇÏ´Â µ¥ ¹®Á¦°¡ ÀÖ´Â °æ¿ì ¹ß»ýÇÕ´Ï´Ù.
SecurityException - È£ÃâÀÚ¿¡°Ô Player¸¦ ¸¸µé º¸¾È ±ÇÇÑÀÌ ¾ø´Â °æ¿ì ¹ß»ýÇÕ´Ï´Ù.

createPlayer

public static Player createPlayer(InputStream stream,
                                  String type)
                           throws IOException,
                                  MediaException
InputStream¿¡¼­ ¹Ìµð¾î¸¦ Àç»ýÇϱâ À§ÇØ Player¸¦ ¸¸µì´Ï´Ù.

type ÀÎÀÚ´Â ÀÔ·Â ¹Ìµð¾îÀÇ ³»¿ë À¯ÇüÀ» ÁöÁ¤ÇÕ´Ï´Ù. nullÀÌ ÁÖ¾îÁø °æ¿ì Manager´Â À¯ÇüÀ» °áÁ¤ÇÏ·Á°í ½ÃµµÇÕ´Ï´Ù. ±×·¯³ª ÀϺΠ¹Ìµð¾î À¯Çü¿¡ ´ëÇØ¼­´Â ¹Ìµð¾î À¯ÇüÀ» °áÁ¤ÇϱⰡ ½±Áö ¾ÊÀ¸¹Ç·Î ¾î¶² °æ¿ì¿¡´Â ºÒ°¡´ÉÇÒ ¼öµµ ÀÖ½À´Ï´Ù. Manager´Â MediaExceptionÀ» ¹ß»ýÇÏ¿© ÀÌ·± »óȲÀ» ³ªÅ¸³À´Ï´Ù.

Parameters:
stream - ÀÔ·Â ¹Ìµð¾î¸¦ Àü´ÞÇÏ´Â InputStream
type - ¹Ìµð¾îÀÇ ContentType
Returns:
»õ Player
Throws:
IllegalArgumentException - streamÀÌ nullÀÎ °æ¿ì ¹ß»ýÇÕ´Ï´Ù.
MediaException - ÁÖ¾îÁø ½ºÆ®¸²°ú À¯Çü¿¡ ´ëÇØ Player¸¦ ¸¸µé ¼ö ¾ø´Â °æ¿ì ¹ß»ýÇÕ´Ï´Ù.
IOException - InputStream¿¡¼­ µ¥ÀÌÅ͸¦ Àд µ¥ ¹®Á¦°¡ ÀÖ´Â °æ¿ì ¹ß»ýÇÕ´Ï´Ù.
SecurityException - È£ÃâÀÚ¿¡°Ô Player¸¦ ¸¸µé º¸¾È ±ÇÇÑÀÌ ¾ø´Â °æ¿ì ¹ß»ýÇÕ´Ï´Ù.

playTone

public static void playTone(int note,
                            int duration,
                            int volume)
                     throws MediaException
À½Ç¥¿Í Àç»ý ½Ã°£¿¡ ÀÇÇØ ÁöÁ¤µÈ ´ë·Î ÅæÀ» Àç»ýÇÕ´Ï´Ù. À½Ç¥´Â 0 ~ 127 »çÀÌ¿¡¼­ Á¦°øµË´Ï´Ù. À½Ç¥ÀÇ Á֯ļö´Â ´ÙÀ½ °ø½ÄÀ¸·Î °è»êÇÒ ¼ö ÀÖ½À´Ï´Ù.
     SEMITONE_CONST = 17.31234049066755 = 1/(ln(2^(1/12)))
     note = ln(freq/8.176)*SEMITONE_CONST
     À½Ç¥ A = MIDI note 69 (0x45) = 440 HzÀÔ´Ï´Ù.
ÀÌ È£ÃâÀº ºñºí·ÏÈ­ È£ÃâÀÔ´Ï´Ù. ÀÌ ¸Þ¼Òµå´Â ƯÈ÷ Åæ »ý¼ºÀ» À§ÇÑ Çϵå¿þ¾î¸¦ Áö¿øÇÏÁö ¾Ê´Â ÀåÄ¡¿¡¼­ CPU ÀÚ¿øÀ» ÀÌ¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

Parameters:
note - À§ÀÇ °ø½ÄÀ¸·Î ÁöÁ¤µÈ ´ë·Î À½Ç¥ÀÇ ÅæÀ» Á¤ÀÇÇÕ´Ï´Ù.
duration - ¹Ð¸®ÃÊ ´ÜÀ§ÀÇ Åæ Àç»ý ½Ã°£. Àç»ý ½Ã°£Àº ¾ç¼öÀ̾î¾ß ÇÕ´Ï´Ù.
volume - ¿Àµð¿À º¼·ýÀº 0 ~ 100 »çÀÌÀÔ´Ï´Ù. 100Àº ÇöÀç Çϵå¿þ¾î ¼öÁØ¿¡¼­ ÃÖ´ë º¼·ýÀ» Ç¥½ÃÇÕ´Ï´Ù. º¼·ýÀ» 0 ¹Ì¸¸ÀÇ °ªÀ¸·Î ¼³Á¤ÇÏ¸é º¼·ýÀº 0À¸·Î ¼³Á¤µË´Ï´Ù. º¼·ýÀ» 100º¸´Ù Å« °ªÀ¸·Î ¼³Á¤ÇÏ¸é º¼·ýÀº 100À¸·Î ¼³Á¤µË´Ï´Ù.
Throws:
IllegalArgumentException - À½Ç¥³ª Àç»ý ½Ã°£ÀÌ ¹üÀ§¸¦ ¹þ¾î³­ °æ¿ì ¹ß»ýÇÕ´Ï´Ù.
MediaException - ÀåÄ¡ °ü·Ã ¹®Á¦·Î ÀÎÇØ ÅæÀ» Àç»ýÇÒ ¼ö ¾ø´Â °æ¿ì ¹ß»ýÇÕ´Ï´Ù.

MID ÇÁ·ÎÇÊ

ÀǰßÀ̳ª Á¦¾È »çÇ× º¸³»±â MID ÇÁ·ÎÇÊ »ç¾ç ¹öÀü 2.0
Java´Â ¹Ì±¹ ¹× ´Ù¸¥ ±¹°¡¿¡¼­ Sun Microsystems, Inc.ÀÇ »óÇ¥ ¶Ç´Â µî·Ï »óÇ¥ÀÔ´Ï´Ù. Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road, Palo Alto, California, 94303, U.S.A. ¸ðµç ±Ç¸®´Â ÀúÀÛ±ÇÀÚÀÇ ¼ÒÀ¯ÀÔ´Ï´Ù.