|
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Objectcom.docomostar.ui.Synthesizer
public class Synthesizer
シンセサイザ操作機能を提供するクラスです。 音源デバイスへの UCS(User Customize Sound) データの設定と、メッセージによるリアルタイム発音が可能です。
メッセージによるリアルタイム発音の手順は次のようになります。
始めに play()
により音源デバイスをメッセージ受付中状態にします。
受付中状態でsendMessage(byte[], int, int)
により音源デバイスへメッセージを発行します。
最後に stop()
により音源デバイスのメッセージ受付を停止し初期状態に戻します。
なお、これらのメソッドによるシンセサイザ操作機能の状態遷移は以下になります。
(表中の括弧内について、スラッシュの前は具体的な処理を、スラッシュの後は次に遷移する状態を示しています。)
受付中状態でアプリケーションがサスペンドした場合、停止処理が行われます。
すなわち、stop()
メソッドが呼ばれたのと同じ状態になります。
――――― | play 呼出 |
stop 呼出 |
サスペンド |
---|---|---|---|
初期状態 | 準備処理/ 受付中 |
NOP/--- | NOP/--- |
受付中 | --- | 停止処理/ 初期状態 |
停止処理/ 初期状態 |
このクラスではシンセサイザ操作機能に必要ないメソッドの利用は制限されています。 詳細は、各メソッドの説明を参照してください。
シンセサイザ機能同士の同時利用ができないことを除き、 原則として、同時利用における動作は、AudioPresenter と同様です。 AudioPresenter または AudioTrackPresenter との同時利用における、 このプレゼンタのデフォルトの利用優先順位は AudioPresenter.NORM_PRIORITY です。 ポート指定がない場合、およびポート指定がある場合、 これらのインスタンスが混在した場合の動作についても AudioPresenter と同様です。 以下に AudioPresenter、AudioTrackPresenter との同時利用における補足を示します。
このプレゼンタは AudioPresenter との同時利用をサポートします。
このプレゼンタの利用時における AudioPresenter の並列再生可能数は機種依存です。 このプレゼンタと AudioPresenter をあわせた同時利用可能数が、 AudioPresenter クラスに記述されているミニマムスペック未満となる場合も有り得ます。
このプレゼンタと AudioTrackPresenter の同時利用をサポートしているかどうかは機種依存です。
サポートしていない場合は、同時利用可能数が 1 であるとみなします。 また、サポートしている場合、 このプレゼンタの利用時における AudioTrackPresenter の並列再生可能数は機種依存です。 このプレゼンタと AudioTrackPresenter をあわせた同時利用可能数が、 AudioPresenter クラスに記述されているミニマムスペック未満となる場合も有り得ます。
シンセサイザ操作機能における注意事項
音源デバイスへ UCS を設定する場合には、 端末の音源デバイスに対応した UCS データを作成する MFi オーサリングツールが必要です。
音源デバイスへ発行するメッセージのフォーマットは、端末の音源デバイスに対応したフォーマットです。 MIDI メッセージと異なる点に留意してください。
このクラスで定義されているメッセージの詳細な振る舞いは、 音源デバイスに依存します。
フィールドの概要 | |
---|---|
static byte |
BANK_3POLY
音色バンクの 1 つで、3和音を表します (=125)。 |
static byte |
BANK_DRUM
音色バンクの 1 つで、ドラムセットを表します (=120)。 |
static byte |
BANK_GM
音色バンクの 1 つで、GMを表します (=121)。 |
static byte |
BANK_SE
音色バンクの 1 つで、効果音を表します (=20)。 |
static byte |
BANK_UCS
音色バンクの 1 つで、UCS を表します (=17)。 |
static byte |
COMMAND_ALL_NOTE_OFF
メッセージの 1 つで、全音ノートオフコマンドを表します (=12)。 |
static byte |
COMMAND_ALL_SOUND_OFF
メッセージの 1 つで、全音消音コマンドを表します (=11)。 |
static byte |
COMMAND_BALANCE
メッセージの 1 つで、ステレオバランス設定コマンドを表します (=6)。 |
static byte |
COMMAND_BANK_SELECT
メッセージの 1 つで、音色バンク変更コマンドを表します (=2)。 |
static byte |
COMMAND_EXPRESSION
メッセージの 1 つで、エクスプレッション設定コマンドを表します (=5)。 |
static byte |
COMMAND_HOLD
メッセージの 1 つで、サステインレベル維持コマンドを表します (=10)。 |
static byte |
COMMAND_MASTER_BALANCE
メッセージの 1 つで、マスターステレオバランス設定コマンドを表します (=15)。 |
static byte |
COMMAND_MASTER_VOLUME
メッセージの 1 つで、マスター音量設定コマンドを表します (=14)。 |
static byte |
COMMAND_MODULATION
メッセージの 1 つで、モジュレーションデプス設定コマンドを表します (=7)。 |
static byte |
COMMAND_NOTE_OFF
メッセージの 1 つで、ノートオフコマンドを表します (=1)。 |
static byte |
COMMAND_NOTE_ON
メッセージの 1 つで、ノートオンコマンドを表します (=0)。 |
static byte |
COMMAND_PITCHBEND
メッセージの 1 つで、ピッチベンド設定コマンドを表します (=8)。 |
static byte |
COMMAND_PITCHBEND_RANGE
メッセージの 1 つで、ピッチベンドレンジ設定コマンドを表します (=9)。 |
static byte |
COMMAND_PROGRAM_CHANGE
メッセージの 1 つで、プログラム変更コマンドを表します (=3)。 |
static byte |
COMMAND_RESET_CONTROLLER
メッセージの 1 つで、コントロールチェンジ設定初期化コマンドを表します (=13)。 |
static byte |
COMMAND_VOLUME
メッセージの 1 つで、ボリューム設定コマンドを表します (=4)。 |
static byte |
SUBVOICE_NOT_EXIST
サブボイス情報がないことを表します (=-1)。 |
コンストラクタの概要 | |
---|---|
protected |
Synthesizer()
アプリケーションが直接このクラスのインスタンスを生成することはできません。 |
メソッドの概要 | |
---|---|
static int |
getAvailableMessageNum()
一度に発行できるメッセージの上限数を取得します。 |
static int |
getAvailableUCSDataNum()
設定できる UCS データの上限数を取得します。 |
static int |
getAvailableUCSDataSize()
設定できる UCS データに含まれる Wave データの合計上限サイズを取得します。 |
MediaResource |
getMediaResource()
このクラスのインスタンスに対して呼び出すことはできません。 |
static Synthesizer |
getSynthesizer()
シンセサイザ操作機能オブジェクトを取得します。 |
static Synthesizer |
getSynthesizer(int port)
発音するポート番号を指定してシンセサイザ操作機能オブジェクトを取得します。 |
void |
play()
メッセージの受付を開始します。 |
void |
sendMessage(byte[] data,
int offset,
int length)
単一もしくは複数のメッセージを発行します。 |