Last Update : 2008/10/xx
HSPの全般的なプログラミング情報のトピックスをいろいろとー。(^◇^)
HSPで音楽や動画の再生手段の命令として、mmload命令(HSP3)とsndload命令(HSP2)、mci命令が用意されてます。
HSPTV!内のHSP入門で紹介されている「mplayer.exe」を指定した音楽再生ですが、これは「Microsoft Media Player」というMCIの機能を利用した旧世代プレーヤーの起動です。「Windows Media Player」とは別モノで、はっきり言って利用価値はありません。Windows NT系OSでは「mplay32.exe」と指定する必要があります。
// Windows 95/98/MEの場合 exec "mplayer /play sample.mid" // コマンドラインスイッチ ; /open ... 再生ファイル無指定の場合、起動時に開くダイアログ表示 ; /play ... 起動後すぐに再生開始 (デフォルトは読み込みのみ) ; /close ... 再生終了後にプレーヤー終了
// Windows 2k/XPの場合 (Windows Vistaは利用不可?) exec "mplay32 /play sample.mid"
ついでに、Microsoftが現在でも開発してるプレーヤー「Windows Media Player」(WMP)。単純に音楽ファイルや動画ファイルのパスだけを指定すると、(デフォルトのWindowsの設定はWMPに関連付けられてるため)WMPプレーヤーが起動します。
// 起動と再生 (関連付けられたプレーヤーの起動) exec "sample.mid", 16
// WMPの直接起動 exec "wmplayer", 16
// 旧バージョンのWMPの直接起動 (Windows Vistaは利用不可?) exec "mplayer2", 16
WMPと音楽・動画ファイルのパスを直接指定したい場合は、WMPをフルパス指定で起動させる必要があります。再生するファイルパスにスペースが含まれている場合を想定して、必ずダブルクオーテーション「"」(スクリプト上では「\"」)でファイルパスをくくってください。
// 音楽ファイル playerpath = "C:\\Program Files\\Windows Media Player\\wmplayer.exe" filepath = "C:\\sample.wma" exec ""+playerpath+" \""+filepath+"\""
// 動画ファイル playerpath = "C:\\Program Files\\Windows Media Player\\wmplayer.exe" filepath = "C:\\sample.wmv" ; パラメータ「/fullscreen」をつけるとフルスクリーン表示 exec ""+playerpath+" /fullscreen \""+filepath+"\""
// 音楽CDの再生 playerpath = "C:\\Program Files\\Windows Media Player\\wmplayer.exe" exec ""+playerpath+" /device:audioCD"
// DVDの再生 playerpath = "C:\\Program Files\\Windows Media Player\\wmplayer.exe" exec ""+playerpath+" /device:DVD"
また、WMAのActiveXコントロールを埋め込み利用する手法をHSP3 あれこれのページにて掲載してます。
Windows標準搭載のファイラー「エクスプローラ」を起動する。HSPのexec命令を使用します。
; 単純な起動 exec "explorer"
; 特定フォルダ指定で起動 exec "explorer C:\\Program Files" ; フォルダ選択のみで起動 // exec "explorer /select, C:\\Program Files" ; フォルダツリー付きで起動 // exec "explorer /e, C:\\Program Files"
この「エクスプローラ」で、Windowsの特殊なフォルダを開く。(→ 関連、HSP3 あれこれ 特殊なダイアログを開く、HSP3 あれこれ 仮想キーの利用)
; 「explorer」で特殊フォルダを開く (by Kpan) ; 「/e,」を含めると、フォルダツリー付きで起動 ; 例: exec "explorer /e, ::{(〜省略〜)}" ; マイコンピュータ exec "explorer ::{20D04FE0-3AEA-1069-A2D8-08002B30309D}" ; マイネットワーク (ネットワークコンピュータ) // exec "explorer ::{208D2C60-3AEA-1069-A2D7-08002B30309D}" ; ゴミ箱 // exec "explorer ::{645FF040-5081-101B-9F08-00AA002F954E}" ; プリンタとFax // exec "explorer ::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\\::{2227A280-3AEA-1069-A2DE-08002B30309D}" ; コントロールパネル // exec "explorer ::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\\::{21EC2020-3AEA-1069-A2DD-08002B30309D}"
Microsoftのウェブブラウザ「インターネットエクスプローラ」(Internet Explorer)を起動する。ヘルプにもある単純にURLアドレスを指定したexec命令は、標準ブラウザに設定されているブラウザが起動しますが、これはIE固定です。
; 「explorer」でIEを起動する (by Kpan) ; インターネットエクスプローラ exec "explorer ::{871C5380-42A0-1069-A2EA-08002B30309D}" ; 特定のページを開く場合 // exec "explorer http://lhsp.s206.xrea.com/, ::{871C5380-42A0-1069-A2EA-08002B30309D}"
[1] 拡張プラグイン (*.dll/*.hpi) の場合
HSP2用拡張プラグインは、互換機能により一部を除きHSP3からでも基本的に利用できます。命令リファレンスなどでプリプロセッサ命令「#func」の説明を参照してください。
実際のところ、拡張プラグインで用意されているすべての命令が使えない、ということはそれほど起こらないと思います。commonフォルダに入れるよう促している拡張プラグインのインクルードファイル(*.as)をHSP3のスクリプトエディタで読み込み、コンパイル実行してみてください。
何のエラーも表示されなかった場合は問題なしです。もし、非対応の命令が含まれている場合は、「互換性のない拡張命令タイプを使用しています (XX行目)」というエラーが表示されます。この場合は、該当箇所の「#func 命令名 〜」の行をコメントアウトします。当然ながら、この命令はHSP3で利用できなくなりますが、これがプラグインの動作上必要不可欠な命令でなければOKなわけです。(^ー^)b
ちなみに、画像ファイル関連プラグインや音楽ファイル関連プラグインの一覧。(→ 参照、HSP Tips : 画像ファイルの表示 & HSP Tips : 音楽ファイルの再生)
[2] 拡張ランタイム (*.hrt) の場合
拡張プラグインを添付せず実行ファイル単体だけの配布で済む拡張ランタイム機能ですが、これはたとえばHSP 2.55用、HSP 2.6用、HSP 2.61用、HSP 3.0用、HSP 3.1、HSP 3.2用というような感じでHSPのバージョンごとにそれぞれ用意していかなければならないものです。
そのため、HSP 2.x向けの拡張ランタイムをHSP3で利用するというのは、残念ながら100%不可能です。
<< HSP Tips 5 || HSP Tips 7 >>
Copyright © 2005-2012 Kpan. All rights reserved.