|
Unofficial "CLDC 1.1 + MIDP 2.0" API Reference. (日本語版) |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object javax.microedition.media.Manager
public final class Manager
Manager
は、マルチメディア処理のための Player
といった、システム依存のリソースへのアクセス・ポイントです。
Player
はデータの Content-Type で特定したメディアを制御およびレンダリングするために使用するオブジェクトです。
Manager
は実装定義のメカニズムへのアクセスを提供し、Player
を構築します。
また、利便性のために Manager
は単音生成を行う簡易型のメソッドを提供します。
playTone
は、トーン(音)を生成させる機能を定義します。 この機能は、音階と持続時間を与えることで指定されたトーンを生成します。
Player
の作成
Manager
はメディアを再生するためにPlayer
を作成する2つのメソッドを提供します:
- メディア・ロケータからの作成
InputStream
からの作成メディアの再生を制御するために使用する
Player
を返します。
Content-Type はメディア・データの型を特定します。 それらは、登録済み MIME タイプ(http://www.iana.org/assignments/media-types/)によって定義されています; 加えて、一般に、MIME 書式(RFC 2045、RFC 2046)に従ういくつかのユーザー定義型があります。
ここにいくつかの一般的な Content-Type を例示します:
- WAV オーディオ・ファイル :
audio/x-wav
- AU オーディオ・ファイル :
audio/basic
- MP3 オーディオ・ファイル :
audio/mpeg
- 標準 MIDI ファイル :
audio/midi
- トーン・シーケンス :
audio/x-tone-seq
メディア・ロケータは URI 書式で定義された書式を用います:
<スキーマ>:<スキーマによる定義部分>
ロケータ文字列の
"スキーマ"
部分がデータを受け取るために使用するプロトコルの名称を意味します。
Player
フィールドの概要 | |
---|---|
static String |
TONE_DEVICE_LOCATOR
トーン・シーケンスを再生するためのトーン Player を作成するためのロケータです。 |
メソッドの概要 | |
---|---|
static Player |
createPlayer(InputStream stream,
String type)
InputStream によるメディアを再生する Player を作成します。 |
static Player |
createPlayer(String locator)
指定のロケータから Player を作成します。 |
static String[] |
getSupportedContentTypes(String protocol)
指定したプロトコルでサポートされる Content-Type のリストを取得します。 |
static String[] |
getSupportedProtocols(String content_type)
指定した Content-Type でサポートするプロトコルのリストを取得します。 |
static void |
playTone(int note,
int duration,
int volume)
音階と持続時間を指定してトーンを再生します。 |
クラス java.lang.Object から継承されたメソッド |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
フィールドの詳細 |
---|
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
は全くシーケンスを用いません。
この Player
の getDuration
は 0
を返します。
このロケータから作成した Player
の Content-Type は audio/x-tone-seq
です。
このロケータのための Player
は、全ての実装でサポートされるとは限りません。
TONE_DEVICE_LOCATOR
には値として"device://tone"
が割り当てられます。
メソッドの詳細 |
---|
public static String[] getSupportedContentTypes(String protocol)
指定したプロトコルでサポートされる Content-Type のリストを取得します。
返す Content-Type の書式は Content-Type を参照してください。 プロトコルの書式はプロトコル名を参照してください。
例えば指定したプロトコルが"http"であれば、HTTP プロトコルでの再生をサポートする Content-Type を返します。
protocol
に null
を渡すと、この実装がサポートする全ての Content-Type を返します。
返す配列は空になっていてはなりません。
指定された protocol
が無効、あるいはサポートしないプロトコルであれば、空の配列を返します。
protocol
- サポートする Content-Type を取得するためのプロトコルを渡します。
public static String[] getSupportedProtocols(String content_type)
指定した Content-Type でサポートするプロトコルのリストを取得します。
作成する Player
に対してどのようなロケータを使用できるかを特定する文字列としてプロトコルを返します。
返すプロトコルの書式についてはプロトコル名を参照してください。
content_type
のための書式については Content-Type を参照してください。
例えば content_type
に"audio/x-wav"を指定すると、audio/x-wav
を使用しての再生をサポートするプロトコルを返します。
content_type
に null
を渡すと、この実装がサポートする全てのプロトコルを返します。
返す配列は空になっていてはなりません。
指定した content_type
が無効、あるいはサポートしていない Content-Type であれば、空の配列を返します。
content_type
- サポートするプロトコルを取得するための Content-Type を渡します。
public static Player createPlayer(String locator) throws IOException, MediaException
指定のロケータから Player
を作成します。
locator
- メディアの内容について記述する URI 書式によるロケータ文字列を渡します。
Player
を返します。
IllegalArgumentException
- パラメータ locator
が null
ならば throw します。
MediaException
- 指定されたロケータのための Player
を作成できないならば throw します。
IOException
- ロケータによって示されるソースへの接続で問題が発生したなら throw します。
SecurityException
- 呼び出し元が Player
を作成するセキュリティ権限を持っていなければ throw します。public static Player createPlayer(InputStream stream, String type) throws IOException, MediaException
InputStream
によるメディアを再生する Player
を作成します。
type
パラメータは入力するメディアの Content-Type を指定します。
null
を指定すると、Manager
はタイプの判定を試みます。
しかし、メディア・タイプによってはメディア・タイプは自明ではないため、場合によっては決定することができないことがあります。
Manager
はそれを示すために MediaException
を throw します。
stream
- 入力するメディアを提供する InputStream
を渡します。type
- メディアの Content-Type を渡します。
Player
を返します。
IllegalArgumentException
- パラメータ stream
が null
ならば throw します。
MediaException
- 指定された stream
および type
のための Player
を作成できないならば throw します。
IOException
- InputStream
からのデータの読み出しにおいて問題が発生したなら throw します。
SecurityException
- 呼び出し元が Player
を作成するセキュリティ権限を持っていなければ throw します。public static void playTone(int note, int duration, int volume) throws MediaException
音階と持続時間を指定してトーンを再生します。
音階は 0
から 127 の範囲内で指定します。
以下の公式で音階に対応する周波数を計算することができます:
半音固定値 = 17.31234049066755 = 1/(ln(2^(1/12))) 音階 = ln( 周波数/8.176)* 半音固定値 オクターブ4ラ = MIDI 音階番号 69 (0x45) = 440 ヘルツ
この呼び出しは、ブロッキングしない呼び出しです。 このメソッドは、トーン生成のためのハードウェア・サポートを搭載していないデバイスではプロセッサ・リソースをかなり消費するかもしれないことに注意が必要です。
note
- 上記の公式によって定義されるトーンの音階を渡します。duration
- トーンの持続時間(発音時間)をミリ秒単位で渡します。
持続時間は正数でなければなりません。volume
- 音量を 0
から 100
の間で渡します。
100
はこのハードウェアにおける最大の音量を示します。
音量に 0
未満の値を指定すると音量には 0
を設定します。
音量に 100
以上の値を指定すると音量には 100
を設定します。
IllegalArgumentException
- 指定した note
または duration
が範囲外であれば throw します。
MediaException
- デバイスに関連する問題のためにトーンの再生ができない場合に throw します。
|
Unofficial "CLDC 1.1 + MIDP 2.0" API Reference. (日本語版) |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
公式仕様書原文の著作権表記等(※): Mobile Information Device Profile Specification ("Specification") Version: 2.0 Status: FCS Release: November 5, 2002 Copyright 2002 Sun Microsystems, Inc. and Motorola, Inc. All rights reserved. | ※ただしこの API リファレンスは英語仕様を一語一句正確に翻訳したものではなく、一度私が英語の仕様原文を読んだ上で元の意味と構造をなるべく保つように書き起こしたものです。このため一部は完全に異なる説明となっています。また CLDC 1.1 部分は同仕様の範囲外であるため、まったく参考とはしていません。 ※仕様書のライセンス上、問題は無いと考えておりますが、万が一問題があるとお考えの関係者の方がいらっしゃいましたらメールにて連絡をいただけると幸いに存じます(第一言語に日本語、第二言語に英語を希望しますが、返信は基本的に日本語で行います)。 |