■MCIオブジェクト

「■MCIオブジェクト」の編集履歴(バックアップ)一覧はこちら

■MCIオブジェクト」(2009/05/31 (日) 17:29:35) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

*情報 作者名:TM 引用元:[[なでしこプログラム掲示板「MCI補助ライブラリ改」>http://www.himanavi.net/cgi/nade-bbs/cbbs.cgi?mode=al2&namber=136&rev=&no=0]] *概要 MCI命令をグループでまとめて使いやすくしました。 *解説 //○使い方 テストとはMCIオブジェクト  # まず宣言して、 テストのファイルは「test.mp3」# 次にファイルを設定します。 //(処理) テストを閉じる        # 使い終わったら閉じます。 ○変数  ・ファイル   ・表示先ハンドル    ファイルが動画の場合、表示先のウィンドウハンドルを指定します。  ・X  ・Y  ・W  ・H    ファイルが動画の場合、動画の再生サイズを指定します。GUI部品と同じです。  ・タイムフォーマット    初期値はミリ秒です。通常は変更の必要はありません。  ・長さ    ファイルの長さ(単位はタイムフォーマット)です。  ・状態     演奏状態です。(再生,playing,停止,stoped,一時停止,paused)  ・位置    現在の再生位置です。(単位はタイムフォーマット)  ・ミュート …オン(1)またはオフ(0)  ・音量    初期値は1000です。  ・右音量  ・左音量  ・速さ    初期値は1000です。  ・ループ …オン(1)またはオフ(0) ○関数  ・元サイズ    ファイルが動画の場合、ファイルの元々のX,Y,W,Hを配列で返します。  ・範囲再生(AからBの)    AからBの範囲を再生します。(単位はタイムフォーマット) *本体 ■MCIオブジェクト  ・ファイル ←ファイル設定 →ファイル取得  ・表示先ハンドル ←表示H設定 →表示H取得  ・X ←X設定 →X取得  ・Y ←Y設定 →Y取得  ・W ←W設定 →W取得  ・H ←H設定 →H取得  ・タイムフォーマット ←TF設定 →TF取得 #{ms(ミリ秒)|msf(mm:ss:ff)|tmsf(t:mm:ss:ff)}  ・長さ           →長さ取得  ・状態   ←状態設定   →状態取得 #{再生,playing|停止,stoped|一時停止,paused}  ・位置   ←位置設定   →位置取得  ・ミュート ←ミュート設定 →ミュート取得  ・音量   ←音量設定   →音量取得  ・右音量  ←右音量設定  →右音量取得  ・左音量  ←左音量設定  →左音量取得  ・速さ   ←速さ設定   →速さ取得  ・ループ{=0}  ・元サイズ →元サイズ取得  ・{非公開}動画か(V)~OR(V=「.avi」,OR(V=「.mpg」,OR(V=「.mpeg」,OR(V=「.wmv」,V=「.mov」))))  ・範囲再生(AからBの)~    もし、ループがオンなら「play {名前} repeat from {A} to {B}」をMCI送信。    違えば「play {名前} from {A} to {B}」をMCI送信。  ・{非公開}ファイル設定(FILE)~    もし、Fファイルが空でなければ名前をMCI閉じる    もし、(FILEが存在)でなければ「ファイルが存在しません」でエラー発生    「open "{FILE}" alias "{名前}" type mpegvideo」をMCI送信。    FファイルはFILE    もし、動画か(Fファイルから拡張子抽出)なら      元サイズ取得。      FWは_[2]      FHは_[3]  ・{非公開}F表示H  ・{非公開}表示H設定(V)~    もし、動画か(Fファイルから拡張子抽出)なら      もし、Fファイルが空でなければ        「window {名前} handle {V}」をMCI送信。        F表示H=V    違えば、「ファイルが動画ではありません」でエラー発生  ・{非公開}表示H取得~    それ=F表示H  ・{非公開}FX{=0}  ・{非公開}FY{=0}  ・{非公開}FW{=0}  ・{非公開}FH{=0}  ・{非公開}X設定(V)~    もし、動画か(Fファイルから拡張子抽出)なら      もし、Fファイルが空でなければ        「put {名前} destination at {V} {Y} {W} {H}」をMCI送信。        FX=V    違えば、「ファイルが動画ではありません」でエラー発生  ・{非公開}X取得~それ=FX  ・{非公開}Y設定(V)~    もし、動画か(Fファイルから拡張子抽出)なら      もし、Fファイルが空でなければ        「put {名前} destination at {X} {V} {W} {H}」をMCI送信。        FY=V    違えば、「ファイルが動画ではありません」でエラー発生  ・{非公開}Y取得~それ=FY  ・{非公開}W設定(V)~    もし、動画か(Fファイルから拡張子抽出)なら      もし、Fファイルが空でなければ        「put {名前} destination at {X} {Y} {V} {H}」をMCI送信。        FW=V    違えば、「ファイルが動画ではありません」でエラー発生  ・{非公開}W取得~それ=FW  ・{非公開}H設定(V)~    もし、動画か(Fファイルから拡張子抽出)なら      もし、Fファイルが空でなければ        「put {名前} destination at {X} {Y} {W} {V}」をMCI送信。        FH=V    違えば、「ファイルが動画ではありません」でエラー発生  ・{非公開}H取得~それ=FH  ・{非公開}元サイズ取得~    もし、動画か(Fファイルから拡張子抽出)なら      もし、Fファイルが空でなければ        「where {名前} source」をMCI送信。         「 」で区切る。    違えば、「ファイルが動画ではありません」でエラー発生  ・閉じる~    もし、Fファイルが空でなければ名前をMCI閉じる。    Fファイルは空。  ・{非公開}Fファイル  ・{非公開}ファイル取得~それはFファイル  ・{非公開}状態取得~    もし、Fファイルが空でなければ「status {名前} mode」をMCI送信。    違えば、それは空  ・{非公開}状態設定(V)~    もし、Fファイルが空でなければ      もし、OR(V=「playing」,V=「再生」)なら        もし、自身→ループ=1なら「play {名前} repeat」をMCI送信。        違えば「play {名前}」をMCI送信。      もし、OR(V=「stoped」,V=「停止」)なら名前をMCI停止      もし、OR(V=「paused」,V=「一時停止」)なら「pause {名前}」をMCI送信。  ・{非公開}TF設定(V)~「set {名前} time format {V}」をMCI送信。  ・{非公開}TF取得~「status {名前} time format」をMCI送信。  ・{非公開}位置設定(V)~    もし、Fファイルが空でなければ      F状態は状態      Vで条件分岐        「始め」なら「seek {名前} to start」をMCI送信。        「終わり」なら「seek {名前} to end」をMCI送信。        違えば「seek {名前} to {V}」をMCI送信。      状態は「{F状態}」  ・{非公開}位置取得~    もし、Fファイルが空でなければ「status {名前} position」をMCI送信。    違えば、それ=0  ・{非公開}音量設定(V)~    もし、Fファイルが空でなければ「setaudio {名前} volume to {V}」をMCI送信。  ・{非公開}音量取得~    もし、Fファイルが空でなければ「status {名前} volume」をMCI送信。    違えば、それ=1000  ・{非公開}右音量設定(V)~    もし、Fファイルが空でなければ「setaudio {名前} right volume to {V}」をMCI送信。  ・{非公開}右音量取得~    もし、Fファイルが空でなければ「status {名前} right volume」をMCI送信。    違えば、それ=1000  ・{非公開}左音量設定(V)~    もし、Fファイルが空でなければ「setaudio {名前} left volume to {V}」をMCI送信。  ・{非公開}左音量取得~    もし、Fファイルが空でなければ「status {名前} left volume」をMCI送信。    違えば、それ=1000  ・{非公開}Fミュート{=0}  ・{非公開}ミュート設定(V)~    もし、Fファイルが空でなければ      もし、Vが1なら        「set {名前} audio all off」をMCI送信。        Fミュート=1      違えば        「set {名前} audio all on」をMCI送信。        Fミュート=0      ・{非公開}ミュート取得~それ=Fミュート  ・{非公開}速さ設定(V)~    もし、Fファイルが空でなければ「set {名前} speed {V}」をMCI送信。  ・{非公開}速さ取得~    もし、Fファイルが空でなければ「status {名前} speed」をMCI送信。    違えば、それ=1000  ・{非公開}長さ取得~「status {名前} length」をMCI送信。 *//サンプルプログラム //○サンプル(動画プレーヤー) 「ムービー|*.avi;*.mpg;*.mpeg;*.mov;*.wmv」のファイル選択 もし、それが空なら、終わり 違えば、ファイルに代入。 母艦のタイトルは(ファイルからファイル名抽出) テストとはMCIオブジェクト。 そのファイルはファイル。 その表示先ハンドルは(母艦のハンドル) 母艦について   クライアントWは(テストのW)   クライアントHは(テストのH+10)   サイズ変更した時は     テストのWは(母艦のクライアントW)     テストのHは(母艦のクライアントH-10)   閉じた時は     テストを閉じる 更新=0 動画シークバーとはバー。 そについて   レイアウトは下   Hは10   最大値は(テストの長さ)   変更した時は     もし、更新中=0ならテストの位置は(動画シークバーの値)。テストの状態は「再生」。 更新タイマーとはタイマー。 そについて   値は100   時満ちた時は~     更新中=1     動画シークバーの値は(テストの位置)     更新中=0   有効はオン テストの状態は「再生」 ---- #comment() ----
*情報 作者名:TM 引用元:[[なでしこプログラム掲示板「MCI補助ライブラリ改」>http://www.himanavi.net/cgi/nade-bbs/cbbs.cgi?mode=al2&namber=136&rev=&no=0]] *概要 MCI命令をグループでまとめて使いやすくしました。 *解説 //○使い方 テストとはMCIオブジェクト  # まず宣言して、 テストのファイルは「test.mp3」# 次にファイルを設定します。 //(処理) テストを閉じる        # 使い終わったら閉じます。 ○変数  ・ファイル   ・表示先ハンドル    ファイルが動画の場合、表示先のウィンドウハンドルを指定します。  ・X  ・Y  ・W  ・H    ファイルが動画の場合、動画の再生サイズを指定します。GUI部品と同じです。  ・タイムフォーマット    初期値はミリ秒です。通常は変更の必要はありません。  ・長さ    ファイルの長さ(単位はタイムフォーマット)です。  ・状態     演奏状態です。(再生,playing,停止,stoped,一時停止,paused)  ・位置    現在の再生位置です。(単位はタイムフォーマット)  ・ミュート …オン(1)またはオフ(0)  ・音量    初期値は1000です。  ・右音量  ・左音量  ・速さ    初期値は1000です。  ・ループ …オン(1)またはオフ(0) ○関数  ・元サイズ    ファイルが動画の場合、ファイルの元々のX,Y,W,Hを配列で返します。  ・範囲再生(AからBの)    AからBの範囲を再生します。(単位はタイムフォーマット) *本体 ■MCIオブジェクト  ・ファイル ←ファイル設定 →ファイル取得  ・表示先ハンドル ←表示H設定 →表示H取得  ・X ←X設定 →X取得  ・Y ←Y設定 →Y取得  ・W ←W設定 →W取得  ・H ←H設定 →H取得  ・タイムフォーマット ←TF設定 →TF取得 #{ms(ミリ秒)|msf(mm:ss:ff)|tmsf(t:mm:ss:ff)}  ・長さ           →長さ取得  ・状態   ←状態設定   →状態取得 #{再生,playing|停止,stoped|一時停止,paused}  ・位置   ←位置設定   →位置取得  ・ミュート ←ミュート設定 →ミュート取得  ・音量   ←音量設定   →音量取得  ・右音量  ←右音量設定  →右音量取得  ・左音量  ←左音量設定  →左音量取得  ・速さ   ←速さ設定   →速さ取得  ・ループ{=0}  ・元サイズ →元サイズ取得  ・{非公開}動画か(V)~OR(V=「.avi」,OR(V=「.mpg」,OR(V=「.mpeg」,OR(V=「.wmv」,V=「.mov」))))  ・範囲再生(AからBの)~    もし、ループがオンなら「play {名前} repeat from {A} to {B}」をMCI送信。    違えば「play {名前} from {A} to {B}」をMCI送信。  ・{非公開}ファイル設定(FILE)~    もし、Fファイルが空でなければ名前をMCI閉じる    もし、(FILEが存在)でなければ「ファイルが存在しません」でエラー発生    「open "{FILE}" alias "{名前}" type mpegvideo」をMCI送信。    FファイルはFILE    もし、動画か(Fファイルから拡張子抽出)なら      元サイズ取得。      FWは_[2]      FHは_[3]  ・{非公開}F表示H  ・{非公開}表示H設定(V)~    もし、動画か(Fファイルから拡張子抽出)なら      もし、Fファイルが空でなければ        「window {名前} handle {V}」をMCI送信。        F表示H=V    違えば、「ファイルが動画ではありません」でエラー発生  ・{非公開}表示H取得~    それ=F表示H  ・{非公開}FX{=0}  ・{非公開}FY{=0}  ・{非公開}FW{=0}  ・{非公開}FH{=0}  ・{非公開}X設定(V)~    もし、動画か(Fファイルから拡張子抽出)なら      もし、Fファイルが空でなければ        「put {名前} destination at {V} {Y} {W} {H}」をMCI送信。        FX=V    違えば、「ファイルが動画ではありません」でエラー発生  ・{非公開}X取得~それ=FX  ・{非公開}Y設定(V)~    もし、動画か(Fファイルから拡張子抽出)なら      もし、Fファイルが空でなければ        「put {名前} destination at {X} {V} {W} {H}」をMCI送信。        FY=V    違えば、「ファイルが動画ではありません」でエラー発生  ・{非公開}Y取得~それ=FY  ・{非公開}W設定(V)~    もし、動画か(Fファイルから拡張子抽出)なら      もし、Fファイルが空でなければ        「put {名前} destination at {X} {Y} {V} {H}」をMCI送信。        FW=V    違えば、「ファイルが動画ではありません」でエラー発生  ・{非公開}W取得~それ=FW  ・{非公開}H設定(V)~    もし、動画か(Fファイルから拡張子抽出)なら      もし、Fファイルが空でなければ        「put {名前} destination at {X} {Y} {W} {V}」をMCI送信。        FH=V    違えば、「ファイルが動画ではありません」でエラー発生  ・{非公開}H取得~それ=FH  ・{非公開}元サイズ取得~    もし、動画か(Fファイルから拡張子抽出)なら      もし、Fファイルが空でなければ        「where {名前} source」をMCI送信。         「 」で区切る。    違えば、「ファイルが動画ではありません」でエラー発生  ・閉じる~    もし、Fファイルが空でなければ名前をMCI閉じる。    Fファイルは空。  ・{非公開}Fファイル  ・{非公開}ファイル取得~それはFファイル  ・{非公開}状態取得~    もし、Fファイルが空でなければ「status {名前} mode」をMCI送信。    違えば、それは空  ・{非公開}状態設定(V)~    もし、Fファイルが空でなければ      もし、OR(V=「playing」,V=「再生」)なら        もし、自身→ループ=1なら「play {名前} repeat」をMCI送信。        違えば「play {名前}」をMCI送信。      もし、OR(V=「stoped」,V=「停止」)なら名前をMCI停止      もし、OR(V=「paused」,V=「一時停止」)なら「pause {名前}」をMCI送信。  ・{非公開}TF設定(V)~「set {名前} time format {V}」をMCI送信。  ・{非公開}TF取得~「status {名前} time format」をMCI送信。  ・{非公開}位置設定(V)~    もし、Fファイルが空でなければ      F状態は状態      Vで条件分岐        「始め」なら「seek {名前} to start」をMCI送信。        「終わり」なら「seek {名前} to end」をMCI送信。        違えば「seek {名前} to {V}」をMCI送信。      状態は「{F状態}」  ・{非公開}位置取得~    もし、Fファイルが空でなければ「status {名前} position」をMCI送信。    違えば、それ=0  ・{非公開}音量設定(V)~    もし、Fファイルが空でなければ「setaudio {名前} volume to {V}」をMCI送信。  ・{非公開}音量取得~    もし、Fファイルが空でなければ「status {名前} volume」をMCI送信。    違えば、それ=1000  ・{非公開}右音量設定(V)~    もし、Fファイルが空でなければ「setaudio {名前} right volume to {V}」をMCI送信。  ・{非公開}右音量取得~    もし、Fファイルが空でなければ「status {名前} right volume」をMCI送信。    違えば、それ=1000  ・{非公開}左音量設定(V)~    もし、Fファイルが空でなければ「setaudio {名前} left volume to {V}」をMCI送信。  ・{非公開}左音量取得~    もし、Fファイルが空でなければ「status {名前} left volume」をMCI送信。    違えば、それ=1000  ・{非公開}Fミュート{=0}  ・{非公開}ミュート設定(V)~    もし、Fファイルが空でなければ      もし、Vが1なら        「set {名前} audio all off」をMCI送信。        Fミュート=1      違えば        「set {名前} audio all on」をMCI送信。        Fミュート=0      ・{非公開}ミュート取得~それ=Fミュート  ・{非公開}速さ設定(V)~    もし、Fファイルが空でなければ「set {名前} speed {V}」をMCI送信。  ・{非公開}速さ取得~    もし、Fファイルが空でなければ「status {名前} speed」をMCI送信。    違えば、それ=1000  ・{非公開}長さ取得~「status {名前} length」をMCI送信。 *//サンプルプログラム //○サンプル(動画プレーヤー) 「ムービー|*.avi;*.mpg;*.mpeg;*.mov;*.wmv」のファイル選択 もし、それが空なら、終わり 違えば、ファイルに代入。 母艦のタイトルは(ファイルからファイル名抽出) テストとはMCIオブジェクト。 そのファイルはファイル。 その表示先ハンドルは(母艦のハンドル) 母艦について   クライアントWは(テストのW)   クライアントHは(テストのH+10)   サイズ変更した時は     テストのWは(母艦のクライアントW)     テストのHは(母艦のクライアントH-10)   閉じた時は     テストを閉じる 更新=0 動画シークバーとはバー。 そについて   レイアウトは下   Hは10   最大値は(テストの長さ)   変更した時は     もし、更新中=0ならテストの位置は(動画シークバーの値)。テストの状態は「再生」。 更新タイマーとはタイマー。 そについて   値は100   時満ちた時は~     更新中=1     動画シークバーの値は(テストの位置)     更新中=0   有効はオン テストの状態は「再生」 ---- #comment() ----

表示オプション

横に並べて表示:
変化行の前後のみ表示:
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。