[#48450] 1.8.7と1.9.2の挙動の違いについて — "Jun'ya Shimoda" <jun-shimo@...>

下田です。

13 messages 2011/10/09

[ruby-list:48471] Re: Ruby/Gstreamer for Windows

From: ashbb <ashbbb@...>
Date: 2011-10-15 23:14:41 UTC
List: ruby-list #48471
おはようございます。リプライありがとうございます。> 須藤さん

> > 埋め込んだビデオの画面サイズを固定するような方法がありませんでしょうか。
> > 埋め込むビデオの画面サイズを指定できるとより嬉しいです。
>
> ビデオを埋め込んだウィジェット(video_sink.xwindow_idに設定し
> たウィンドウIDを持つウィジェット)のサイズを固定すればよいの
> ではないかと思いました。
> 例えば、Gtk::Widgget#set_size_requestとGtk::Box#pack_startを
> 使えばできるかなぁと思います。X上で動かす場合の例ですが。。。
はい。Linux環境が手元にないので頂いたsample snippetを実機で
試してはいませんが。たぶんできるのではないかと思います。

が、Windowsの場合。。。
  video_sink.xwindow_id = drawing_area.window.xid
を使えない(xidメソッドがundefined)ので、win32apiを用いて、
  video_sink.xwindow_id = Win32API.new('user32', 'GetForegroundWindow', [],
'N').call
としているのですが。
そのため、ビデオを埋め込んだウィジェット=GTK2でオープンしたウィンドウそのもの、
となってしまうため、ウィンドウを開く際のサイズは指定できるのですが。
ウィンドウのリサイズに合わせてビデオの画面もリサイズしてしまうんです。

GetForegroundWindow以外でビデオを埋め込んだウィジェットそのもののハンドルを
取得できると良いかと思うのですが。その方法が分からなくて。。。
何か良い方法がありませんでしょうか。> Windowsユーザの皆様

ashbb

In This Thread