練炭ブログ

萌え壁紙、Irvine、DMonkey、Proxomitron などの情報を扱ってます。

Flash Player がビックリマークのエラーに

コメントなし»

おお、これが噂に聞く Flash Player が表示されず、! マークになってしまうという症状か。

ブラウザ再起動したら問題なく表示されるようになった。

非アクティブウィンドウの Flash Player の動作を止めない方法

コメントなし»

正確には動作が止まるのではなく、動作が非常に遅くなるという仕様。
従来は非アクティブでも等速で動作していましたが、Flash Player 10 だか、10.1 だかの時に突然このように仕様変更されてしまいました。

このせいで、ニコニコ動画の再生ページを非アクティブウィンドウで開くと動画読み込みエラーになります。
ニコニコ動画のプレイヤーでは、多分 Flash の再生開始からの実時間を計測していて、一定時間内に動画の読み込みが開始していないとサーバの応答がないものとしてエラーにしているようです。
Flash の動作が遅いと時間内にサーバとの通信を行うところまで処理が進まないため、ブラウザやサーバに問題がなくてもエラーになるのだと思います。

なんとかならないものかと探していたら、こちらのサイトで解決策が紹介されていました。
Flash Player 10.1でバックグラウンド動作をとめない方法 - 何とかなるさ!自力で楽しく♪節約・倹約・外反母趾治療

遅くさせない方法:
テキストファイルに FullFramerateWhenInvisible = 1 と書いて、 mms.cfg というファイル名で %WINDIR%\System32\Macromed\Flash フォルダに保存すると、非アクティブでも動作が遅くならなくなります。

なお、FullFramerateWhenInvisible は真偽値 true/false で指定するものですが、代わりに 1/0 で指定しても同じように解釈されるので、ここでは 1 で書きました。

x64 環境では System32 を SysWow64 に読み替えて下さい。
参考サイト:Adobe Forums: Inactive window pause issue.

Proxomitron: YouTube で Old Flash? Go upgrade! と表示されるのを回避

コメントなし»

さっきまで問題なかったのに、飯食って風呂入って戻ってきてから YouTube で動画を見ようとすると、再生直後に Flash が消えて「Old Flash? Go upgrade!」というテキストに差し替わってしまうようになりました。
(「Old Flash?」の部分は白くて反転しないと見えません)

Flash のアップデートが必要なら、ということでAdobe のウェブサイトへ行くと反応がありません。
もしかすると同じ問題が出ている人が大勢いて、DDoS 攻撃のようになってるのかも。

スクリプトでバージョンチェックをしているようで、そこを潰せば再生できました。
なにか理由があるとしたらまずいけど、バージョンチェックのミスという可能性も。

とりあえず Proxomitron でフィルタ書いてみました。

Name = "YouTube No upgrade (2010-04-16; rentan)"
Active = TRUE
URL = "[^/.]+.youtube.com/watch\?$TYPE(htm)"
Limit = 256
Match = "yt.flash.update \(swfConfig, forceUpdate\);"
Replace = "$STOP()"

導入する場合は、ずっと残しておくと将来トラブルを起こす恐れがあるので、しばらく様子を見ながら使ってみて下さい。
原因が YouTube 側の問題だったなら、それが修正され次第これは削除して下さい。

フィルタを書いてから調べたところ、Opera には以前から同じような症状があり、スクリプトで対処しているようです。
(動作原理は同じで、スクリプトで yt.flash.update~ を削除していました)

[19:30 追記] YouTube 側で修正されたようです。