7

スタンドアロンの flashplayer は、コマンド ラインから起動する場合、.swf ファイル以外の引数を取りません。プレーヤーを全画面表示にする必要があり、ウィンドウの境界線などはありません。これは、プログラムの開始後に ctrl+f を押すことで実行できます。人間の介入なしにフルスクリーンで起動する必要があるため、これをプログラムで実行したいと考えています。

私の推測では、ウィンドウへのハンドルを取得してから、「ctrl + f」キーストロークのようなイベントを送信する方法が必要だと思います。

違いがあれば、flashplayer は gtk アプリケーションであり、pygtk がインストールされた python があるようです。

UPDATE(私が使用したソリューション... ypnosの回答に感謝):

./flashplayer http://example.com/example.swf & sleep 3 && ~/xsendkey -window "Adobe Flash Player 10" Control+F
4

6 に答える 6

7

ウィンドウが画面上でアクティブなウィンドウとして開始された場合、キーストロークをウィンドウマネージャーに送信する専用アプリケーションを使用できます。ウィンドウマネージャーは、キーストロークをフラッシュに渡す必要があります。ただし、フラッシュを開始してからウィンドウが表示されるまでの遅延により、これは非常にエラーが発生しやすくなります。

たとえば、スクリプトは次のように実行できます: flashplayer *.swf sleep 3 && xsendkey Control+F

アプリケーション xsendkey は次の場所にあります: http://people.csail.mit.edu/adonovan/hacks/xsendkey.html 特定のウィンドウが指定されていない場合、ウィンドウ マネージャーによって処理されるルート ウィンドウに送信されます。xprop またはそれに関連するものを使用して、最初にウィンドウ ID を把握することもできます。

もう 1 つのオプションは、設定を記憶して自動的に適用できるウィンドウ マネージャーです。たとえば、Fluxbos はこの機能を提供します。flashplayer がサイズ変更をサポートしている場合、fluxbox を設定してウィンドウの装飾をなくし、画面全体に広げることができます。これは、これまでに開いたすべての flashplayer ウィンドウに影響を与える可能性があるため、あまり良くありません。

于 2008-10-02T23:44:15.357 に答える
1
nspluginplayer --fullscreen src=path/to/flashfile.swf

これは [ http://gwenole.beauchesne.info//en/projects/nspluginwrapper](nspluginwrapperプロジェクト)からのものです。

于 2008-11-10T13:40:49.643 に答える
1

別のオプションは、スタンドアロンのフラッシュ プレーヤーを gtk.Socket 内に埋め込み、サイズを変更する pygtk アプリケーションを作成することです。少し考えた後、これが最善の策かもしれません。

これはまさに私がしたことです。それに加えて、私のプレーヤーは、Xcomposite、Xfixes、Cairo を介して Flash コンテンツをスケーリングします。Python ソースを含む .deb は、 http ://www.crutzi.info/crutziplayer にあります。

于 2012-06-04T06:56:19.980 に答える
1

私は実際にこれをずっと前にやったことがありますが、ささいなことではありませんでした。私たちが行ったことは、Sawfish ウィンドウ マネージャーを使用して、flashplayer ウィンドウを認識するフックを作成し、すべての装飾を取り除き、フル スクリーンにスナップすることです。

これは、外部アプリケーションから X ウィンドウ作成イベントを登録することにより、ウィンドウ マネージャーを使用せずに可能かもしれませんが、X11 について十分に理解していないため、それがどのように行われるかを説明することはできません。

もう 1 つのオプションは、スタンドアロンのフラッシュ プレーヤーを gtk.Socket 内に埋め込み、それ自体のサイズを変更する pygtk アプリケーションを作成することです。少し考えた後、これが最善の策かもしれません。

于 2008-10-02T21:26:19.480 に答える
0

私は、bmdhacksが言及しているものと同様のメカニズムを使用してopenboxを使用してこれを行いました。これから私が気付いたのは、スタンドアロンのフラッシュプレーヤーは、最大化された装飾されていないウィンドウで、同じプレーヤーよりもフルスクリーンのパフォーマンスがかなり悪いということでした。(つまり、メニューバーが原因で迷惑なことにフルスクリーンではありません)。メニューを非表示にするためにカスタムgtkテーマで実行することを考えていました。ただし、これはパフォーマンスの問題です。フルスクリーンが現在正常に機能している場合、それは不必要に複雑です。私はOLPCXOで実行していましたが、パフォーマンスが問題になっています。

私はnspluginplayerであまり運がなかった(私が思うにあまりにもバグが多い)。

最終的には、実行中のフラッシュを作成するという贅沢があったので、フラッシュ自体にコードを配置するだけで済みました。同様のトークンで、フラッシュ内にフラッシュを埋め込むことができるので、自動的にフルスクリーンになり、ターゲットsfwを含む小さなスタブswfを作成できるはずです。

于 2010-02-16T21:31:19.987 に答える
0

Acton script 3 cmd を使用する必要があります。

stage.displayState = StageDisplayState.FULL_SCREEN;

Adobe Action script 3 プログラミングを参照してください。

ただし、注意してください。全画面表示では、表示パフォーマンスが低下します。

私はこの問題を抱えています... Linuxの下でもっと!!!

于 2010-10-22T07:57:47.483 に答える