4.4. IMelodySpeakerCommandBuilder

added in version 1.10.0

メロディスピーカー制御用コマンドを生成する機能を提供します。

本インターフェイスは、メロディスピーカーに対応しているモデルまたはFVP10専用です。 対応しているモデルは 対応外部機器 を参照ください。

  • 列挙体

    名称

    説明

    SoundStorageArea

    サウンド格納領域指定定数

  • メソッド

    名称

    説明

    appendSound

    メロディスピーカーに登録されたサウンドを再生するコマンドを生成し、コマンドバッファに追加します。

    appendSoundData

    引数で指定されたサウンドデータを再生するコマンドを生成し、コマンドバッファに追加します。

    getCommands

    コマンドバッファ(生成したコマンド)を取得します。

警告

メロディスピーカー以外を接続してこれらのメソッドを使用しないでください。正常動作しない場合や、プリンターおよび外部機器本体が破損する恐れがあります。

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

    再生するサウンドの設定情報(サウンド格納領域、サウンド番号など)

    SoundSetting

    setting引数に設定可能なパラメータは以下のとおりです。

    MelodySpeakerModel

    メソッド

    説明

    設定可能パラメータ

    デフォルト(未指定時の動作)

    MCS10

    setSoundStorageArea

    サウンド格納領域

    Area1

    MCS10本体のディップスイッチ設定を使用

    Area2

    setSoundNumber

    サウンド番号

    0 - 7

    MCS10本体のディップスイッチ設定を使用

    setVolume

    音量

    0 – 15

    MCS10本体のディップスイッチ設定を使用

    SoundSetting.VOLUME_OFF

    SoundSetting.VOLUME_MAX

    SoundSetting.VOLUME_MIN

    FVP10

    setSoundStorageArea

    サウンド格納領域

    Area1

    Area1

    Area2

    setSoundNumber

    サウンド番号

    1 - 255 1

    setCount

    回数

    1 - 65535 1

    setDelay

    ディレイ時間(1秒単位)

    0 - 65535 0

    setInterval

    インターバル時間(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

    再生するサウンドの設定情報(サウンド格納領域、サウンド番号など)

    SoundSetting

    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 – 15
    SoundSetting.VOLUME_OFF
    SoundSetting.VOLUME_MAX
    SoundSetting.VOLUME_MIN

    MCS10本体のディップスイッチ設定を使用

  • 戻り値

    なし

  • 例外

    クラス

    説明

    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[]