4.4. IMelodySpeakerCommandBuilder
added in version 1.10.0
メロディスピーカー制御用コマンドを生成する機能を提供します。
本インターフェイスは、メロディスピーカーに対応しているモデルまたはFVP10専用です。 対応しているモデルは 対応外部機器 を参照ください。
列挙体
名称
説明
サウンド格納領域指定定数
メソッド
名称
説明
メロディスピーカーに登録されたサウンドを再生するコマンドを生成し、コマンドバッファに追加します。
引数で指定されたサウンドデータを再生するコマンドを生成し、コマンドバッファに追加します。
コマンドバッファ(生成したコマンド)を取得します。
警告
メロディスピーカー以外を接続してこれらのメソッドを使用しないでください。正常動作しない場合や、プリンターおよび外部機器本体が破損する恐れがあります。
4.4.1. SoundStorageArea
added in version 1.10.0
サウンド格納領域指定定数です。
宣言
enum SoundStorageArea { Area1, Area2 };
定数に対応するサウンド格納領域は以下の通りです。
MelodySpeakerModel |
定数 |
サウンド格納領域 |
---|---|---|
MCS10 |
Area1
Area2
|
サウンド格納領域1
サウンド格納領域2
|
FVP10 |
Area1
Area2
|
デフォルトエリア
ユーザーエリア
|
4.4.2. appendSound
added in version 1.10.0
メロディスピーカーに登録されたサウンドを再生するコマンドを生成し、コマンドバッファに追加します。
宣言
void appendSound(SoundSetting setting);
引数
名称
説明
型
setting
再生するサウンドの設定情報(サウンド格納領域、サウンド番号など)
setting引数に設定可能なパラメータは以下のとおりです。
MelodySpeakerModel
メソッド
説明
設定可能パラメータ
デフォルト(未指定時の動作)
MCS10
サウンド格納領域
Area1
MCS10本体のディップスイッチ設定を使用
Area2
サウンド番号
0 - 7 MCS10本体のディップスイッチ設定を使用
音量
0 – 15 MCS10本体のディップスイッチ設定を使用
SoundSetting.VOLUME_OFF
SoundSetting.VOLUME_MAX
SoundSetting.VOLUME_MIN
FVP10
サウンド格納領域
Area1
Area1
Area2
サウンド番号
1 - 255 1 回数
1 - 65535 1 ディレイ時間(1秒単位)
0 - 65535 0 インターバル時間(1秒単位)
0 - 65535 0 setSoundStorageArea メソッドと setSoundNumber メソッドに指定するパラメータの組み合わせにより再生されるサウンドは以下のとおりです。
MelodySpeakerModel
setSoundStorageArea
setSoundNumber
再生されるサウンド
MCS10
Area1
0 サウンド 1
1 サウンド 2
2 サウンド 3
3 サウンド 4
4 サウンド 5
5 サウンド 6
6 サウンド 7
7 サウンド 8
Area2
0 サウンド 9
1 サウンド 10
2 サウンド 11
3 サウンド 12
4 サウンド 13
5 サウンド 14
6 サウンド 15
7 サウンド 16
FVP10
Area1
1 - 255 デフォルトエリアの指定されたサウンド番号に格納されたサウンド
Area2
1 - 255 ユーザーエリアの指定されたサウンド番号に格納されたサウンド
戻り値
なし
例外
クラス
説明
IllegalArgumentException
以下のいずれか1. 指定されたモデルでは使用できないメソッドが呼び出されている場合2. setSoundStorageArea メソッドと setSoundNumber メソッドのどちらか一方のみが呼び出されている場合3. 設定可能範囲外のパラメータが指定されている場合
実装例
public static byte[] createPlayingRegisteredSound(MelodySpeakerModel model, SoundStorageArea soundStorageArea, boolean specifySound, int soundNumber, boolean specifyVolume, int volume) { IMelodySpeakerCommandBuilder builder = StarIoExt.createMelodySpeakerCommandBuilder(model); SoundSetting setting = new SoundSetting(); if (specifySound) { setting.setSoundStorageArea(soundStorageArea); setting.setSoundNumber(soundNumber); } if (specifyVolume) { setting.setVolume(volume); } builder.appendSound(setting); return builder.getCommands(); }
MelodySpeakerFunctions.java を参照ください。
4.4.3. appendSoundData
added in version 1.10.0
引数で指定されたサウンドデータを再生するコマンドを生成し、コマンドバッファに追加します。
警告
本メソッドはFVP10( FVP10 )非対応です。
宣言
void appendSoundData(byte[] data, SoundSetting setting);
引数
名称
説明
型
data
サウンドデータ
byte[]
setting
再生するサウンドの設定情報(サウンド格納領域、サウンド番号など)
data引数に設定可能な対応サウンドフォーマットは以下のとおりです。
項目
値
サウンドファイルフォーマット
WAV
WAVファイルフォーマット
リニアPCM
サンプリングレート
12800Hz
ビット深度
16bit または 8bit
チャンネル
モノラル
再生時間
ビット深度16bitの場合 ... 5秒以内ビット深度8bitの場合 ... 10秒以内1. 本パッケージ同梱のStar Sound Converterアプリケーションを利用することで、サウンドファイルのフォーマットを対応サウンドフォーマット表のフォーマットに変換できます。 詳細は"Others/StarSoundConverter/(Mac or Windows)/Documents"フォルダ内の"FileFormatList_jp.htm"を参照ください。
setting引数に設定可能なパラメータは以下のとおりです。
メソッド
説明
設定可能パラメータ
デフォルト(未指定時の動作)
setVolume
音量
0 – 15SoundSetting.VOLUME_OFFSoundSetting.VOLUME_MAXSoundSetting.VOLUME_MINMCS10本体のディップスイッチ設定を使用
戻り値
なし
例外
クラス
説明
IllegalArgumentException
以下のいずれかの場合に発行されます。1. 対応サウンドフォーマット以外のデータが入力された2. 指定されたモデルでは設定できないプロパティが設定された3. 設定可能範囲外のパラメータが指定されたUnsupportedOperationException
FVP10 指定時に本メソッドが呼ばれた場合に発行されます。
実装例
public static byte[] createPlayingReceivedData(MelodySpeakerModel model, Uri uri, boolean specifyVolume, int volume, Context context) { InputStream inputStream = null; byte[] soundData; try { inputStream = context.getContentResolver().openInputStream(uri); byte[] buffer = new byte[1024]; int bytesRead; ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); while ((bytesRead = inputStream.read(buffer)) != -1) { outputStream.write(buffer, 0, bytesRead); } soundData = outputStream.toByteArray(); inputStream.close(); } ... IMelodySpeakerCommandBuilder builder = StarIoExt.createMelodySpeakerCommandBuilder(model); SoundSetting setting = new SoundSetting(); if (specifyVolume) { setting.setVolume(volume); } builder.appendSoundData(soundData, setting); return builder.getCommands(); }
MelodySpeakerFunctions.java を参照ください。
4.4.4. getCommands
added in version 1.10.0
コマンドバッファ(生成したコマンド)を取得します。
宣言
byte[] getCommands();
引数
なし
戻り値
説明
型
コマンドバッファ(生成したコマンド)
byte[]