HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2021
0802
chellメディアファンデーションの描画を解除したい3解決


chell

リンク

2021/8/2(Mon) 11:18:52|NO.93437

過去のスレッドで紹介されていたMedia Foundationを使った方法で(http://hsptv.sakura.ne.jp/play/pforum.php?mode=pastwch&num=89736
動画画面が読み込んだスクリーンに固定されていて停止しても最後のフレームが残って解除できない状態ですが、
同じスクリーンで動画画面を解除して再度mesなどの描画を可能にすることは可能でしょうか?よろしくお願い致します。



この記事に返信する


MIZUSHIKI

リンク

2021/8/4(Wed) 00:35:30|NO.93460

うーん、軽く調べてみた感じプレーヤの機能自体に非表示にするものは無さそうですかね。
(もっと詳しく調べたらあるのかもしれませんが・・・)

何も考えずに簡単なのは bgscrで作ったウィンドウを子ウィンドウ化して、それにプレーヤを乗せて表示/非表示を切り替えてしまうことだと思います。

リンク先の あらやさんのサンプルスクリプトをお借りしました。

#include "user32.as" #define GWL_STYLE 0xFFFFFFF0 #define WS_POPUP 0x80000000 #define WS_CHILD 0x40000000 #define IID_IMFPMediaPlayer "{A714590A-58AF-430a-85BF-44F5EC838D85}" #usecom IMFPMediaPlayer IID_IMFPMediaPlayer "{}" #comfunc IMFPMediaPlayer_Stop 5 #comfunc IMFPMediaPlayer_Shutdown 38 #uselib "Mfplay" #func MFPCreateMediaPlayer "MFPCreateMediaPlayer" wstr,int,int,int,int,var #uselib "Mfplat" #func MFStartup "MFStartup" int,int #func MFShutdown "MFShutdown" //動画を乗せる子ウィンドウを作る bgscr 1,600,400,2,100,100 ;とりあえず非表示で作っておく hw1 = hwnd ; MFPCreateMediaPlayerでこの hw1 を指定します。 GetWindowLong hw1, GWL_STYLE SetWindowLong hw1, GWL_STYLE, stat | WS_POPUP^WS_POPUP | WS_CHILD ; 子ウィンドウ用のスタイルに変更 (安全のためWS_POPUPは付けてから反転して外している) screen 0,800,600 cls 1 SetParent hw1, hwnd // bgscr 1 を screen 0 の子ウィンドウに登録 title "Media Foundation" objsize 200,24 button gosub "表示 / 非表示",*lShow //ファイル指定 dialog "mp4;*.avi;*.mpg;*.mpeg",16 if stat=0 : end file=refstr onexit *lEnd //動画読み込み newcom iMFPlayer,IMFPMediaPlayer MFStartup MFPCreateMediaPlayer file, 1,0,0, hw1, iMFPlayer ; ↑0にすると自動再生しない //動画(子ウィンドウ)を表示 gsel 1,1 : gsel 0 stop //動画の表示/非表示 *lShow if flg!-1 : flg=-1 : else : flg=1 gsel 1,flg : gsel 0 mes "動画(子ウィンドウ)表示フラグ: "+flg return //終了処理 *lEnd IMFPMediaPlayer_Stop iMFPlayer IMFPMediaPlayer_Shutdown iMFPlayer MFShutdown mes "MFShutdown:"+stat end



chell

リンク

2021/8/4(Wed) 18:29:11|NO.93469

なるほど。この方法使えば縮小や移動など切り替えも色々便利ですね。
サンプルスクリプトまで載せて頂いてありがとうございます。
参考になりました。
もう少しMedia Foundation調べてみようと思うので開けておきます。



chell

リンク

2021/8/4(Wed) 18:31:59|NO.93471

早速のご返答ありがとうございます。解決済みにさせてもらいます。



ONION software Copyright 1997-2023(c) All rights reserved.