0

XmLを読み取り、Flvビデオに円を描くカスタムflvプレーヤーがあります。位置と時刻はXMLで指定されます。as3 getTimer()関数で計算しました。一時停止してからもう一度再生しても、問題なく動作します。円は適切なタイミングで表示されます。

今私は2つの問題があります

1- getTimerをリセットするにはどうすればよいですか?ユーザーが別のswfをプレイできる場合に必要です。2-getTimerの計算以外の方法はありますか。フレームスクリプトの実行時間に依存し、間違った結果をもたらす可能性があるため、タイマークラスを使用していません。これは、getTimer()関数ほど正確ではありません。3-カスタムスライダーを使用しているので、ユーザーがスライダーをgetTimer()関数でクリックまたはドラッグするたびに計算を実行してから、秒などを減算する必要があります。しかし、私の計算はgetTimer()関数に基づいているため、ユーザーが別のswfを再生すると、非常に困難になります。

オープンソースプロジェクトが利用できる場合は、リンクを転送してください。ただし、Flash PlayerとAirPlayerでも実行したいですか?

4

1 に答える 1

0

私はあなたを正しい方向に向けようとしますが、最初にあなたの質問に答えます:

  1. いいえ
  2. いいえ(タイマーを使用する以外)
  3. これ以上難しいことはないはずです

3 番を拡張すると、ここにソリューションがあるため、これ以上難しいことはありません。現在の FLV が開始された時間を追跡する必要があります。あなたがそれを持っている限り、数学は本当に違いはありません. 最も簡単なのは、独自のreset関数を導入し、カスタム関数をラップgetTimerして必要な残りの機能を追加することです。このようなもの:

var startTime:int;

function resetTimer():void {
    startTime = getTimer();
}

function getTime():int {
    return getTimer() - startTime;
}

getTime上記の例では、ではなくから常に現在の時刻にアクセスしますがgetTimer、それ以降はすべて同じです。必要なときに必ず電話してくださいresetTimer

それが役立つことを願っています!

于 2010-09-08T05:25:32.593 に答える