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

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



記事削除

記事NO.パスワード
(質問が解決したスレッドは他の利用者に活用してもらうため、削除しないようお願いします)

NO.93437への返信

マスコット

好きなマスコットを選んでください。

名前

e-mail
HOME
  1. 初めて利用する方は、HSP3掲示板の使い方をお読みください。
  2. 不要部分の多い長いスクリプトの投稿は ご遠慮ください。
  3. 書き込みは自動改行されません。適度に改行を入れてください。
  4. スクリプトは小文字の<pre>〜</pre>で囲むと見やすく表示できます。

削除用パスワード

解決したら質問者本人がここをチェックしてください。

エラー発生時、再送信すると二重送信になることがあります。
回答が得られたら、お礼書き込み時に[解決]チェックしてください。
SPAM防止のためURLから始まる文章は投稿できません。
SPAM防止のため英文字のみの本文を投稿することはできません。

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