[PR] この広告は3ヶ月以上更新がないため表示されています。
ホームページを更新後24時間以内に表示されなくなります。
Multimedia Controle Interface
HSP
PSH x HSP | 講座 | オブジェクト | COM | MCI | 用語 | ソフト | HTMLタグ | リンク |
■ mci
mci ,"strings" [MCIにコマンドを送る] | |
"strings" | MCIコマンド文字列 |
MCI(Multimedia Control Interface)にコマンド文字列を送ります。MCIに対応した MIDI再生、ムービー再生などを行なうことができます。 MCIコマンドの詳細については、Windows MCIの解説書をお読みください。 ここでは簡単な使用法だけを紹介しておきます。 mci "play filename" で、"filename"のファイルを再生します。たとえば、"play aaaa.mid"ならば、"aaaa.mid" というMIDIファイルを演奏します。拡張子がaviなら動画の再生、wavならPCMの再生、 その他MCIに登録されているデバイスを再生することができます。 mci "open filename alias hsp" で、"filename"のファイルをオープンして、これ以降 "hsp"という名前をエイリアスに することができます。この後で、 mci "play hsp" ; デバイスの再生 mci "stop hsp" ; デバイスの再生ストップ mci "close hsp" ; デバイスのクローズ などの指定をすることができるようになります。 mciに命令を送った場合の結果はシステム変数 statに反映されます。stat が-1の 場合は、mci命令を解釈する時点でエラーが出ていることを示しています。 また、mciでステータスを読み出すコマンドを送った場合も、stat に結果が反映されます。 |
MCIというのはWindowsに組み込まれているマルチメディアを制御するためのインターフェイスで、簡単にメディア ファイルを扱えるよう制御できる機能です。動画(ムービー)のフィアルを表示したり、音楽(サウンド)のファイル を再生したりすることができます。HSPのmci命令は、このMCIに処理を送信するための命令になります。
HSPのmci命令でWindowsシステムサウンドの出力。レジストリに再生ファイルが指定されてない場合はデフォルト(.Default)のが鳴る模様。(エイリアス名を参照したページ)
onexit *owari alias.0=".Default" ;一般の警告音 alias.1="AppGPFault" ;プログラムエラー alias.2="CCSelect" ;選択 alias.3="Close" ;プログラムの終了 alias.4="CriticalBatteryalarm" ;バッテリ低下アラーム alias.5="DeviceConnect" ;デバイスの接続 alias.6="DeviceDisconnect" ;デバイスの切断 alias.7="DeviceFail" ;デバイスの接続の失敗 alias.8="LowBatteryAlarm" ;バッテリ切れアラーム alias.9="MailBeep" ;新着メールの通知 alias.10="Maximize" ;最大化 alias.11="MenuCommand" ;メニューコマンド alias.12="MenuPopup" ;メニューポップアップ alias.13="Minimize" ;最小化 alias.14="Open" ;プログラムの起動 alias.15="PrintComplete" ;印刷完了 alias.16="RestoreDown" ;元に戻す (縮小) alias.17="RestoreUp" ;元に戻す (拡大) alias.18="ShowBand" ;ツールバーバンドの表示 alias.19="SystemAsterisk" ;情報メッセージ alias.20="SystemDefault" ;一般の警告音 alias.21="SystemExclamation" ;警告メッセージ alias.22="SystemExit" ;ウィンドウズの終了 alias.23="SystemHand" ;システムエラー alias.24="SystemNotification" ;システム通知 alias.25="SystemQuestion" ;問い合わせメッセージ alias.26="SystemStart" ;ウィンドウズの起動 alias.27="WindowsLogoff" ;ウィンドウズ ログオフ alias.28="WindowsLogon" ;ウィンドウズ ログオン notesel list foreach alias noteadd alias(cnt) loop objsize 200 listbox value,300,list button "再生",*play stop *play mci "sound "+alias(value)+"" stop *owari mci "close" end |
■ 簡易MP3プレーヤー
; PSHxHSP PLAYER ; 製作人-PSH onexit *owari screen 0,260,90 title "PSHxHSP PLAYER" cls 2 objsize 80, 20 pos 10,10:button "OPEN",*psh_open pos 90,10:button "PLAY",*psh_play pos 170,10:button "STOP",*psh_stop ; mci "set HSP time format milliseconds" color 0,0,0 boxf 10,40,250,80 font "MS UI Gothic",11,1 stop *psh_open dialog "mp3",16,"MP3ファイル" if stat=0:stop file=refstr mci "open \""+refstr+"\" type mpegvideo alias HSP" ; ファイルオープン exist file sdim id3_data,0x80 bload file, id3_data,,strsize-0x80 ; ID3タグを確認 color boxf 10,40,250,80 if wpeek(id3_data,0)!0x4154 : stop color 0,$FF,$88 getstr id3_title,id3_data,0x03 ; タイトル文字列を取り出す pos 20,45 mes id3_title getstr id3_artist,id3_data,0x21 ; アーティスト文字列を取り出す pos 20,65 mes id3_artist stop *psh_play mci "play HSP" ; 再生 repeat mci "status HSP position" ; 再生時間取得 title "PSHxHSP PLAYER ["+strf("%02d",stat/1000/60)+":"+strf("%02d",stat/1000\60)+"]" await 100 loop *psh_stop mci "stop HSP" ; 再生停止 stop *owari mci "close HSP" ; 解放 end |
■ 曲の長さ
; 曲の長さ・位置 (mci命令) mci "set HSP time format milliseconds" mci "status HSP length" ; 曲全体の長さ mes ""+(stat/1000/60)+"分 "+(stat/1000\60)秒+"" mci "status HSP position" ; 現在の再生位置 mes ""+(stat/1000/60)+"分 "+(stat/1000\60)秒+"" |
■ 簡易MP3プレーヤー
; 再生状態 (mci命令) ; 「stopped」(停止中)・「playing」(再生中)・「paused」(一時停止中)の3状態の取得 mci "status HSP mode" mes refstr |
■ mmload
HSPのmmloadはサウンド音楽ファイル(WAVE、MIDI、MP3、WMA)やムービー動画ファイル(AVI、WMV、MPEG)を読み込んでおく命令。p1にバッファ番号、p2に読み込みモード。
■ mmplay・mmstop
mmloadであらかじ読み込んでおいたサウンド音楽、ムージー動画のファイルの再生、停止する命令。p1にmmloadで指定したバッファ番号を指定。mciと比べて、mm命令には再生と停止以外の処理はできない。posがHSPウィンドウの動画系の再生表示位置として反映。MCI機能ともにmmplayも同時再生はできません。
; 音楽ファイルの読み込みと再生 button "再生", *play dialog "wav;*.mid;*.mp3",16,"ファイル" mmload refstr,0,1 stop ; 再生 |
■ 関連リンク
~~~~~