MCI Wrapper

動作確認

ダウンロード

使用方法

■MCIコマンド

利用可能なMCIコマンドは、Win32APIの mciSendString関数 に準じます。
MCIコマンドについては、書籍や解説サイトをご参照ください。

■主要メソッド

  • MCI >> sendString:
    • MCIデバイスにMCIコマンド文字列を送信する
    • 第1引数: String : MCIコマンド文字列
    • 返り値: SmallInteger : 成功すると0、失敗するとエラーコードが返る
      エラーコードのテキスト表現を取得するには、MCI >> getErrorString: を利用する
  • MCI >> getLastMessageString
    • 最後にMCIデバイスにMCIコマンド文字列を送信した際に、返された文字列を受け取る
    • 返り値: String : MCIコマンド文字列送信結果
  • MCI >> getErrorString:
    • MCI >> sendString: で返されるエラーコードのテキスト表現を取得する
    • 第1引数: SmallInteger : エラーコード
    • 返り値: String : エラーコードのテキスト表現を取得する

■Sample


"Play MIDI"
| mci moreBlock |

moreBlock := [:m | 
        | mode | 
        m sendString: 'status MIDI mode'.
        mode := m getLastMessageString.
        (mode = 'playing') and: [Sensor redButtonPressed not]].

mci := MCI new.
[
    [
        mci sendString: 'open "c:\windows\media\town.mid" alias MIDI type sequencer'.
        mci sendString: 'play MIDI'.
        [moreBlock value: mci] whileTrue: [(Delay forMilliseconds: 100) wait]
    ] ensure: [
        mci sendString: 'stop MIDI'.
        mci sendString: 'close MIDI'
    ]
] fork

					

"Open CD door"
| cmd mci |
cmd := 'set cdaudio door open'.
mci := MCI new.
mci sendString: cmd
					

"Error Message"
| mci result errorMsg |

mci := MCI new.
result := mci sendString: 'play ERRORDEVICE'.

result == 0 
    ifTrue: ["???"]
    ifFalse: ["fail"
        errorMsg := mci getErrorString: result.
        Win32Window getFocus 
            messageBox: (MCIUtil convertToSystemString: errorMsg)
            title: (MCIUtil convertToSystemString: 'MCI Error')
            flags: 16].
				
					

履歴

  • 2004/05/028 Ver.002
    多言語Squeakか否かをチェックするロジックを修正
    MCI >> getLastMessage を MCI >> getLastMessageString にメソッド名変更
  • 2004/05/28 Ver.001
    公開

Back
SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送