- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Flvをループ再生したいのですが、seek()をしたときに生じるがたつきはどうにかならないのでしょうか?)
Flvをループ再生したいが、seek()をしたときに生じるがたつきはどうにかならないか
このQ&Aのポイント
- ビデオがあるキューポイントまで到達すると、seek()を使ってある時間までもどしてそこから再生、またキューポイントまで到達すると・・・以下無限ループ、という処理をしようとしていますが、seek()でジャンプした瞬間にゆがみが生じてしまいます。
- このゆがみといか時間のずれをなくす方法はないでしょうか?
- どなたか知恵をお貸しください。それとも、こういったゆがみを消すことはそもそも無理なのでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ビデオコンポーネントを使わず、スクリプトのみで動画を再生した方がよいと思われます。 自分でスクリプトを組んで再生したところ、問題はありませんでした。 以下、申し訳御座いませんがAs2.0で記述せて頂きます。 vid = 新規ビデオを作成して下さい。 スクリプト var nc :NetConnection = new NetConnection(); nc.connect(null); var ns :NetStream = new NetStream(nc); vid.attachVideo(ns); ns.play("kiteSurfe.flv"); var videoInterval = setInterval(videoStatus , 100); function videoStatus() { if(ns.time >= 10) { ns.seek(0); } } これで、がたつきは無くなる筈ですよ。
その他の回答 (1)
- ryo2501
- ベストアンサー率46% (15/32)
回答No.2
短い動画のループでしたら、無理にFLVを使わずにSWFに変換してから、フレームで動画を垂れ流しにした方が効率がいいですよ。
お礼
ご協力ありがとうございます。 仰せのとおり、ビデオコンポーネントを使わず、Videoクラスベースで書くとseek()したときの大きなゆがみは解消されました。 しかしながら、ほんのわずかな小さなゆがみ(ゆがみというより数ミリ秒間動画が止まる)という現象が残っており、納得のいくレベルに達していません。 わがままで申し訳ないんですが、この微妙な動画の停止をも防ぐことはできないのでしょうか? seekするたびに、バッファーなどの処理が再び行われています。一度すべてをロードして余計な処理をしないことによって、先ほどの微妙な動画の停止現象を防ぐことはできないのでしょうか?