私はFLVPlaybackコンポーネントにビデオをロードしました。私はこれまでに再生された合計時間と時間を取得し、2つのテキストフィールドに出力する方法を探しています。結果は "00:12/00:50 "となります。Flash Videoコンポーネントから再生された合計時間と時間を取得しますか?
今、私はコンポーネントインスペクタでビデオを定義していますが、私は最終的にこのビットをactionscriptでも定義したいと考えています。どんなヒントも大歓迎です。
私はFLVPlaybackコンポーネントにビデオをロードしました。私はこれまでに再生された合計時間と時間を取得し、2つのテキストフィールドに出力する方法を探しています。結果は "00:12/00:50 "となります。Flash Videoコンポーネントから再生された合計時間と時間を取得しますか?
今、私はコンポーネントインスペクタでビデオを定義していますが、私は最終的にこのビットをactionscriptでも定義したいと考えています。どんなヒントも大歓迎です。
あなたがここに時間を見つけることができます。 http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/fl/video/FLVPlayback.html#playheadTime
そしてここに:あなたは簡単に時間を更新できるように http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/fl/video/FLVPlayback.html#totalTime
イベントもありますが、定期的に解雇: http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/fl/video/FLVPlayback.html#event:playheadUpdate
編集:更新されたリンク
I k今これは古い質問ですが、私はしばらく探していて答えを見つけていません。
FLVPlaybackコンポーネントを使用している場合でも、MetadataEventを使用して、FLV/F4Vファイルに埋め込まれているメタデータを取得できます。 AS3からFLVPlaybackインスタンスを作成し、MedataEvent.METADATA_RECEIVEDイベントをリッスンし、イベントが返すinfoプロパティにアクセスしました。コードでは、それは次のようになります。
package
{
import fl.video.FLVPlayback; // you will need to drag the component to the stage, then delete it. This puts some stuff in the library and now you can access the class
import fl.video.MetadataEvent;
import flash.display.MovieClip;
public class flvTest extends MovieClip
{
private var inputURL:String = "./test.flv"; // change this to the location of your FLV/F4V
private var player:FLVPlayback;
public function flvTest():void
{
player = new FLVPlayback();
// set x,y,width,height values if you want
player.autoRewind = true; // I use this so when you press stop, it goes to the first frame
player.load(inputURL); // you can use load() or source=
player.addEventListener(MetadataEvent.METADATA_RECEIVED, getMetaFromFLV);
addChild(player);
}
private var getMetaFromFLV(metadataEvent:MetadataEvent = null):void
{
trace("FLV Duration: " + metadataEvent.info.duration);
}
}
}
あなたは明らかなど、いくつかのプレイヤーがコントロールを必要とするが、この回答へのキーはMetadataEventの一部です。 イベントが返すinfoプロパティには、FLV/F4Vビデオファイル内に埋め込まれているすべてのメタデータが含まれているため、取得できる他の多くの値があります。
(他の検索や投稿の多くは、NetStreamなどからメタデータを取得する方法を説明しています。これは、Flash Media Serverに接続する際に使用されます。ここでは、ローカルファイルにアクセスし、その中に埋め込まれているはずです)。
私はこれが誰かを助けてくれることを願っています!
時間を取得するには、次の書式設定については
flvPlayer.playheadTime;// gives you the current videp position
:意図したとおりに
public static function formatTime(time:Number, detailLevel:uint = 2):String { var intTime:uint = Math.floor(time); var hours:uint = Math.floor(intTime/ 3600); var minutes:uint = (intTime - (hours*3600))/60; var seconds:uint = intTime - (hours*3600) - (minutes * 60); var hourString:String = detailLevel == HOURS ? hours + ":":""; var minuteString:String = detailLevel >= MINUTES ? ((detailLevel == HOURS && minutes = MINUTES)) ? "0":"") + seconds; return hourString + minuteString + secondString; }
もはやこれらのリンクは、私がリンクを更新した –
を働きます。 –
リンクが機能していません。実際のコード例を正しいものとして回答をマークする方が良いとは思わないでしょうか?彼らは明らかに長く続く! –