4.4. ISMCBBuilder
added in version 1.12.0
メロディスピーカー制御用コマンドを生成する機能を提供します。
本インターフェイスは、メロディスピーカーに対応しているモデルまたはFVP10専用です。 対応しているモデルは 対応外部機器 を参照ください。
列挙体
名称
説明
サウンド格納領域指定定数
プロパティ
名称
説明
生成、追加されたコマンド列です。
メソッド
名称
説明
メロディスピーカーに登録されたサウンドを再生するコマンドを生成し、コマンドバッファに追加します。
引数で指定されたサウンドデータを再生するコマンドを生成し、コマンドバッファに追加します。
警告
メロディスピーカー以外を接続してこれらのメソッドを使用しないでください。正常動作しない場合や、プリンターおよび外部機器本体が破損する恐れがあります。
4.4.1. SMCBSoundStorageArea
added in version 1.12.0
サウンド格納領域指定定数です。
宣言
typedef NS_ENUM(NSUInteger, SMCBSoundStorageArea) { SMCBSoundStorageArea1, SMCBSoundStorageArea2 };
定数に対応するサウンド格納領域は以下の通りです。
MelodySpeakerModel |
定数 |
サウンド格納領域 |
---|---|---|
StarIoExtMelodySpeakerModelMCS10 |
SMCBSoundStorageArea1
SMCBSoundStorageArea2
|
サウンド格納領域1
サウンド格納領域2
|
StarIoExtMelodySpeakerModelFVP10 |
SMCBSoundStorageArea1
SMCBSoundStorageArea2
|
デフォルトエリア
ユーザーエリア
|
4.4.2. commands
added in version 1.12.0
コマンドバッファ(生成したコマンド)を取得します。
宣言
@property (nonatomic, readonly) NSMutableData *commands;
引数
なし
戻り値
説明
型
コマンドバッファ(生成したコマンド)
NSMutableData *
4.4.3. appendSoundWithSetting
added in version 1.12.0
メロディスピーカーに登録されたサウンドを再生するコマンドを生成し、コマンドバッファに追加します。
宣言
- (void)appendSoundWithSetting:(nullable SMSoundSetting *)setting error:(nullable NSError **)error;
引数
名称
説明
型
setting
再生するサウンドの設定情報(サウンド格納領域、サウンド番号など)
error
コマンド生成に失敗した際のエラー情報
NSError *
setting引数に設定可能なパラメータは以下のとおりです。
StarIoExtMelodySpeakerModel
プロパティ
説明
設定可能パラメータ
デフォルト(未指定時の動作)
StarIoExtMelodySpeakerModelMCS10
サウンド格納領域
SMCBSoundStorageArea1
MCS10本体のディップスイッチ設定を使用
SMCBSoundStorageArea2
サウンド番号
0 - 7 MCS10本体のディップスイッチ設定を使用
音量
0 – 15 MCS10本体のディップスイッチ設定を使用
SMSoundSettingVolumeOff
SMSoundSettingVolumeMax
SMSoundSettingVolumeMin
StarIoExtMelodySpeakerModelFVP10
サウンド格納領域
SMCBSoundStorageArea1
SMCBSoundStorageArea1
SMCBSoundStorageArea2
サウンド番号
1 - 255 1 回数
1 - 65535 1 ディレイ時間(1秒単位)
0 - 65535 0 インターバル時間(1秒単位)
0 - 65535 0 soundStorageArea プロパティと soundNumber プロパティに指定するパラメータの組み合わせにより再生されるサウンドは以下のとおりです。
StarIoExtMelodySpeakerModel
soundStorageArea
soundNumber
再生されるサウンド
StarIoExtMelodySpeakerModelMCS10
SMCBSoundStorageArea1
0 サウンド 1
1 サウンド 2
2 サウンド 3
3 サウンド 4
4 サウンド 5
5 サウンド 6
6 サウンド 7
7 サウンド 8
SMCBSoundStorageArea2
0 サウンド 9
1 サウンド 10
2 サウンド 11
3 サウンド 12
4 サウンド 13
5 サウンド 14
6 サウンド 15
7 サウンド 16
StarIoExtMelodySpeakerModelFVP10
SMCBSoundStorageArea1
1 - 255 デフォルトエリアの指定されたサウンド番号に格納されたサウンド
SMCBSoundStorageArea2
1 - 255 ユーザーエリアの指定されたサウンド番号に格納されたサウンド
戻り値
なし
エラーコード
値
説明
SMResultCodeInvalidArgument
以下のいずれか1. 指定されたモデルでは設定できないプロパティが設定されている場合2. soundStorageArea プロパティ と soundNumber プロパティ のどちらか一方のみが設定されている場合SMResultCodeArgumentOutOfRange
設定可能範囲外のパラメータが指定されている場合
実装例
+ (NSData *)createPlayingRegisteredSound:(StarIoExtMelodySpeakerModel)model specifySound:(BOOL)specifySound soundStorageArea:(SMCBSoundStorageArea)soundStorageArea soundNumber:(NSInteger)soundNumber specifyVolume:(BOOL)specifyVolume volume:(NSInteger)volume error:(NSError * _Nullable * _Nullable) error { ISMCBBuilder *builder = [StarIoExt createMelodySpeakerCommandBuilder:model]; SMSoundSetting *setting = [SMSoundSetting new]; if (specifySound == YES) { [setting setSoundStorageArea:soundStorageArea]; [setting setSoundNumber:soundNumber]; } if (specifyVolume == YES) { [setting setVolume:volume]; } [builder appendSoundWithSetting:setting error:error]; if (*error != nil) { return nil; } return [builder.commands copy]; }
MelodySpeakerFunctions.m を参照ください。
4.4.4. appendSoundWithSound
added in version 1.12.0
引数で指定されたサウンドデータを再生するコマンドを生成し、コマンドバッファに追加します。
警告
本メソッドはFVP10( StarIoExtMelodySpeakerModelFVP10 )非対応です。
宣言
- (void)appendSoundWithSound:(nonnull NSData *)data (nullable SMSoundSetting *)setting error:(nullable NSError **)error;
引数
名称
説明
型
data
サウンドデータ
NSData *
setting
再生するサウンドの設定情報(サウンド格納領域、サウンド番号など)
error
コマンド生成に失敗した際のエラー情報
NSError *
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 – 15SMSoundSettingVolumeOffSMSoundSettingVolumeMaxSMSoundSettingVolumeMinMCS10本体のディップスイッチ設定を使用
戻り値
なし
エラーコード
値
説明
StarIoExtErrorFormatError
対応サウンドフォーマット以外のデータが入力された場合
SMResultCodeInvalidArgument
指定されたモデルでは設定できないプロパティが設定されている場合
SMResultCodeArgumentOutOfRange
設定可能範囲外のパラメータが指定されている場合
StarIoExtErrorInvalidOperation
StarIoExtMelodySpeakerModelFVP10 指定時に本メソッドが呼ばれた場合
実装例
+ (NSData *)createPlayingReceivedData:(StarIoExtMelodySpeakerModel)model filePath:(NSString *)filePath specifyVolume:(BOOL)specifyVolume volume:(NSInteger)volume error:(NSError * _Nullable * _Nullable)error { ISMCBBuilder *builder = [StarIoExt createMelodySpeakerCommandBuilder:model]; SMSoundSetting *setting = [SMSoundSetting new]; NSURL *fileUrl = [[NSURL alloc] initWithString:filePath]; NSData *fileData = [[NSData alloc] initWithContentsOfURL:fileUrl]; if (specifyVolume == YES) { [setting setVolume:volume]; } [builder appendSoundWithSound:fileData setting:setting error:error]; if (*error != nil) { return nil; } return [builder.commands copy]; }
MelodySpeakerFunctions.m を参照ください。