|
MID 프로필 | ||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--javax.microedition.media.Manager
Manager
는 멀티미디어를 처리하는
Player
와 같은 시스템 종속 자원을 얻기 위한
액세스 포인트입니다.
Player는 데이터의 내용 유형에 적합한 미디어를 제어하고 렌더링하는 데 사용하는 객체입니다.
Manager
에서는 Player
를
구성하기 위한 구현별 기법에 액세스할 수 있습니다.
편의상 Manager
는 단순 톤을 생성하기 위한
간소화된 메소드도 제공합니다.
이
playTone
기능은
톤을 생성하기 위해 정의되었습니다.
음표와 재생 시간이 주어지면
이 기능은 지정된 톤을 생성합니다.
Manager
는 미디어를 재생하는Player
를 만들기 위한 두 가지 메소드를 제공합니다.반환된
- 미디어 로케이터에서 만듭니다.
InputStream
에서 만듭니다.Player
는 미디어의 표시를 제어하는 데 사용될 수 있습니다.
내용 유형은 미디어 데이터의 유형을 식별합니다. 내용 유형은 등록된 MIME 유형( http://www.iana.org/assignments/media-types/)과 일반적으로 MIME 구문(RFC 2045, RFC 2046)을 따르는 몇몇 사용자 정의 유형으로 정의됩니다.예를 들어, 일반적인 내용 유형은 다음과 같습니다.
- Wave 오디오 파일:
audio/x-wav
- AU 오디오 파일:
audio/basic
- MP3 오디오 파일:
audio/mpeg
- MIDI 파일:
audio/midi
- 톤 시퀀스:
audio/x-tone-seq
미디어 로케이터는 다음과 같은 형식의 URI 구문에 지정되어 있습니다.<scheme>:<scheme-specific-part>
로케이터 문자열의 "scheme" 부분은 데이터 전달에 사용될 프로토콜의 이름을 식별합니다.
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 |
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
에 지정됩니다.
Method Detail |
public static String[] getSupportedContentTypes(String protocol)
반환된 내용 유형의 구문은 내용 유형을 참조하십시오. 사용된 프로토콜의 구문은 프로토콜 이름을 참조하십시오.
예를 들어, 주어진 protocol
이
"http"
이면 http
프로토콜로
재생할 수 있는 지원되는 내용 유형이
반환됩니다.
protocol
로 null
이
전달된 경우에는 이 구현을 지원하는 모든 내용 유형이 반환됩니다.
반환된 배열은 비어 있으면 안 됩니다.
주어진 protocol
이 유효하지 않거나
지원되지 않는 프로토콜이면 빈 배열이 반환됩니다.
protocol
- 지원되는 내용 유형의 입력 프로토콜
public static String[] getSupportedProtocols(String content_type)
Player
를 만드는 데 사용할 수 있는
로케이터를 식별하는 문자열로 반환됩니다.
반환된 프로토콜의 구문은 프로토콜 이름을 참조하십시오. 사용된 내용 유형의 구문은 내용 유형을 참조하십시오.
예를 들어, 주어진 content_type
이
"audio/x-wav"
이면 audio/x-wav
를
재생하는 데 사용할 수 있는 지원되는
프로토콜이 반환됩니다.
content_type
으로 null
이
전달되면 이 구현을 지원하는
모든 프로토콜이 반환됩니다.
반환된 배열은 비어 있으면 안 됩니다.
주어진 content_type
이
유효하지 않거나 지원되지 않는 내용 유형이면 빈 배열이 반환됩니다.
content_type
- 지원되는 프로토콜의 내용 유형
public static Player createPlayer(String locator) throws IOException, MediaException
Player
를 만듭니다.
locator
- 미디어 내용을 설명하는
URI 구문의 로케이터 문자열
Player
IllegalArgumentException
- locator
가
null
인 경우 발생합니다.
MediaException
- 주어진 로케이터의 Player
를
만들 수 없는 경우 발생합니다.
IOException
- locator
로 지정한 소스에
연결하는 데 문제가 있는 경우 발생합니다.
SecurityException
- 호출자에게 Player
를
만들 보안 권한이 없는 경우 발생합니다.public static Player createPlayer(InputStream stream, String type) throws IOException, MediaException
InputStream
에서 미디어를 재생하기 위해
Player
를 만듭니다.
type
인자는 입력 미디어의 내용 유형을 지정합니다.
null
이 주어진 경우 Manager
는
유형을 결정하려고 시도합니다.
그러나 일부 미디어 유형에 대해서는
미디어 유형을 결정하기가
쉽지 않으므로 어떤 경우에는 불가능할 수도 있습니다.
Manager
는 MediaException
을
발생하여 이런 상황을 나타냅니다.
stream
- 입력 미디어를 전달하는
InputStream
type
- 미디어의 ContentType
Player
IllegalArgumentException
- stream
이
null
인 경우 발생합니다.
MediaException
- 주어진 스트림과 유형에 대해
Player
를 만들 수 없는 경우 발생합니다.
IOException
- InputStream
에서
데이터를 읽는 데 문제가 있는 경우 발생합니다.
SecurityException
- 호출자에게 Player
를
만들 보안 권한이 없는 경우 발생합니다.public static void playTone(int note, int duration, int volume) throws MediaException
SEMITONE_CONST = 17.31234049066755 = 1/(ln(2^(1/12))) note = ln(freq/8.176)*SEMITONE_CONST 음표 A = MIDI note 69 (0x45) = 440 Hz입니다.이 호출은 비블록화 호출입니다. 이 메소드는 특히 톤 생성을 위한 하드웨어를 지원하지 않는 장치에서 CPU 자원을 이용할 수 있습니다.
note
- 위의 공식으로 지정된 대로 음표의
톤을 정의합니다.duration
- 밀리초 단위의 톤 재생 시간.
재생 시간은 양수이어야 합니다.volume
- 오디오 볼륨은
0 ~ 100 사이입니다.
100은 현재 하드웨어 수준에서 최대 볼륨을 표시합니다.
볼륨을 0 미만의 값으로 설정하면 볼륨은 0으로 설정됩니다.
볼륨을 100보다 큰 값으로 설정하면
볼륨은 100으로 설정됩니다.
IllegalArgumentException
- 음표나 재생 시간이
범위를 벗어난 경우 발생합니다.
MediaException
- 장치 관련 문제로 인해 톤을 재생할 수 없는 경우
발생합니다.
|
MID 프로필 | ||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |