4.4. IMelodySpeakerCommandBuilder

added in version 1.4.0

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

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

  • プロパティ

    名称

    説明

    Commands

    生成、追加されたコマンド列です。

  • メソッド

    名称

    説明

    AppendSound

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

    AppendSoundData

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

警告

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

4.4.1. MelodySpeakerSoundStorageArea

added in version 1.4.0

サウンド格納領域指定定数です。

  • 宣言

    public enum MelodySpeakerSoundStorageArea {
        Area1,
        Area2
    }
    

定数に対応するサウンド格納領域は以下の通りです。

MelodySpeakerModel

定数

サウンド格納領域

MCS10

Area1
Area2
サウンド格納領域1
サウンド格納領域2

FVP10

Area1
Area2
デフォルトエリア
ユーザーエリア

4.4.2. Commands

added in version 1.4.0

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

  • 宣言

    byte[] Commands { get; }
    
  • 引数

    なし

  • 戻り値

    説明

    コマンドバッファ(生成したコマンド)

    byte[]

4.4.3. AppendSound

added in version 1.4.0

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

  • 宣言

    void AppendSound(SoundSetting setting);
    
  • 引数

    名称

    説明

    setting

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

    SoundSetting

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

    MelodySpeakerModel

    プロパティ

    説明

    設定可能パラメータ

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

    MCS10

    SoundStorageArea

    サウンド格納領域

    Area1

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

    Area2

    SoundNumber

    サウンド番号

    0 - 7

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

    Volume

    音量

    0 – 15

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

    SoundSetting.VolumeOff

    SoundSetting.VolumeMax

    SoundSetting.VolumeMin

    FVP10

    SoundStorageArea

    サウンド格納領域

    Area1

    Area1

    Area2

    SoundNumber

    サウンド番号

    1 - 255 1

    Count

    回数

    1 - 65535 1

    Delay

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

    0 - 65535 0

    Interval

    インターバル時間(1秒単位)

    0 - 65535 0

    SoundStorageArea プロパティと SoundNumber プロパティに指定するパラメータの組み合わせにより再生されるサウンドは以下のとおりです。

    MelodySpeakerModel

    SoundStorageArea

    SoundNumber

    再生されるサウンド

    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

    ユーザーエリアの指定されたサウンド番号に格納されたサウンド

  • 戻り値

    なし

  • 例外

    クラス

    説明

    ArgumentException

    以下のいずれか
    1. 指定されたモデルでは使用できないプロパティが設定されている場合
    2. SoundStorageArea プロパティと SoundNumber プロパティのどちらか一方のみが設定されている場合

    ArgumentOutOfRangeException

    設定可能範囲外のパラメータが指定されている場合

  • 実装例

    public static byte[] CreatePlayingRegisteredSoundData(MelodySpeakerModel model, bool specifySound, MelodySpeakerSoundStorageArea soundStorageArea, int soundNumber, bool specifyVolume, int volume)
    {
        IMelodySpeakerCommandBuilder builder = StarIoExt.CreateMelodySpeakerCommandBuilder(model);
    
        SoundSetting setting = new SoundSetting();
    
        if (specifySound)
        {
            setting.SoundStorageArea = soundStorageArea;
            setting.SoundNumber = soundNumber;
        }
    
        if (specifyVolume)
        {
            setting.Volume = volume;
        }
    
        builder.AppendSound(setting);
    
        return builder.Commands;
    }
    

    MelodySpeakerFunction.csを参照ください。

4.4.4. AppendSoundData

added in version 1.4.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引数に設定可能なパラメータは以下のとおりです。

    プロパティ

    説明

    設定可能パラメータ

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

    Volume

    音量

    0 – 15
    SoundSetting.VolumeOff
    SoundSetting.VolumeMax
    SoundSetting.VolumeMin

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

  • 戻り値

    なし

  • 例外

    クラス

    説明

    FormatException

    対応サウンドフォーマット以外のデータが入力されたとき

    ArgumentException

    指定されたモデルでは設定できないプロパティが設定されたとき

    ArgumentOutOfRangeException

    設定可能範囲外のパラメータが指定されたとき

    InvalidOperationException

    FVP10 指定時に本メソッドが呼ばれたとき

  • 実装例

    public static byte[] CreatePlayingSoundData(MelodySpeakerModel model, string filePath, bool specifyVolume, int volume) {
        byte[] data = null;
    
        using (FileStream stream = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.Read))
        {
            data = new byte[stream.Length];
            stream.Read(data, 0, data.Length);
        }
    
        IMelodySpeakerCommandBuilder builder = StarIoExt.CreateMelodySpeakerCommandBuilder(model);
    
        SoundSetting setting = new SoundSetting();
    
        if (specifyVolume)
        {
            setting.Volume = volume;
        }
    
        builder.AppendSoundData(data, setting);
    
        return builder.Commands;
    }
    

    MelodySpeakerFunction.csを参照ください。