ビデオを見ながらリンクをクリックできるこのフラッシュ アプリケーションを入手しました。新しいタブが開き、ビデオが一時停止します。Flash アプリケーションに戻ったときに、ビデオの再生が再開されるとよいでしょう。これを行う方法、イベントなどはありますか?
4 に答える
よりクリーンなアプローチは、次のようなものを使用することです。
stage.addEventListener( Event.ACTIVATE, playMovie );
stage.addEventListener( Event.DEACTIVATE, pauseMovie );
Flash はおそらく使えませんが、純粋な JavaScript があれば、Flash ムービーと通信できるようになるかもしれません。Window の onFocus イベントをいじってみることをお勧めします。
これまでに使用したことがないため、一部またはすべてのブラウザーでトリガーされるとは限りません。
これはFF3で機能しました。これは有効なコードでも良いコードでもありませんが、あなたにとっては足がかりです:
<html>
<head></head>
<body onFocus="alert('testing');"></body>
</html>
また、アラートの [OK] をクリックすると、フォーカスが再トリガーされるため、非常に面倒です。Control+W はタブを閉じて、サイクルを中断できるようにします。
Flash プレーヤーは、フォーカスがプレーヤーに出入りするときに、アクティブ化イベントと非アクティブ化イベントを送信します。おそらくこれらを使用できますが、ページのフォーカスが変更された場合ではなく、Flash コンテンツのフォーカスが変更された場合にのみ制限されます。
ここblog.flexaxamples.comを見て、Flash のアクティブ化および非アクティブ化イベントの使用方法を確認してください。
私はそれを次のように解決したと思います:
別のタブにいるときにマウスがステージを離れるため、ステージで mouse_leave イベントをリッスンします。(または、少なくとも、フラッシュに戻るにはタブをクリックする必要があるため、常にフラッシュの外に出てしまいます)。ステージを離れると、stageLeave ブール値が true に設定されます。
次に、stageLeave ブール値を false (true の場合) に設定し、カスタム STAGE_RETURN イベントをディスパッチする別のイベント リスナー mouse_move があります。
ここでの唯一の補足事項は、ビデオを再度再生するには、マウスをステージ上に移動する必要があることです. しかし、それはとにかくあなたがすることです。