0

わかりました、これは私をバティに駆り立てています。CS4でカスタムビデオプレーヤーを作成しました。基本的には、Gimpを使用してビデオプレーヤーを描画し、それをPNGとして保存して、ステージにドラッグしました。

FLVPlaybackを使用したくなかったので、Actionscriptを使用してステージにビデオを追加しました。

var video:Video = new Video(480,360);
addChild(video);

私がそれをどのように接続したかについての詳細は割愛しますが、それは完全に機能します。ComboBoxをステージにドラッグしようとすると、問題が発生します。ハンドラーなどを追加する前に、ComboBoxからアイテムを選択すると、ビデオ(およびNetStream)での再生が終了します。Wierd!なんで?そして、どうすればそうしないようにできますか?

4

1 に答える 1

0

わかりました、これを理解した今、私はかなり頭がいいと感じています。もちろん、そもそもエラーを引き起こさなかった方が賢明だったでしょう。これはガベージ コレクションの問題であり、ComboBox とはまったく関係がありませんでした。ComboBox をクリックすると、ガベージ コレクターをトリガーするのに十分な量のオブジェクト ガベージが発生することが判明しました。

ガベージ コレクションが行われていたため、NetStream がイベント ハンドラーをトリガーせずに停止していました。私は自分のコードでそれへの参照を保持していませんでした。video.attachStream(ns)呼び出して への参照を保持していたので、そうしなければならないとは思いませんでしたvideo。ただし、Videoクラスは明らかに NetStream への参照も保持していません。

于 2009-09-17T22:22:36.770 に答える