メイン コーダーズルーム【スクリプト系】 flv制御について | 投稿するにはまず登録を |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
みみみぃ | Åê¹ÆNo.36342 投稿日時: 2007-11-19 14:38 |
新米 居住地: 埼玉県 投稿: 10
使用環境:
WinXP,Flash8 |
Re: flv制御について わかりづらい質問で申し訳ありません、もう少し詳細に書くべきでした・・・。
今やりたいことは markerをクリックした時(on press)にflvの再生を一時停止 ↓ クリック時だけmarkerを横に移動出来るようにする ↓ markerを離した時(on release)にそのx軸の位置によってflvの再生時間を設定する です。 昨日、少しソースを付け加えましてmarkerのMCに on (press) { _root.stream_obj.pause(); this.startDrag(false, 0, 0, 133, 0); _root.marker = false; } on (release, releaseOutside) { this.stopDrag(); _root.marker = true; _root.stream_obj.play(); } onClipEvent (enterFrame) { _root.stream_obj.seek(_root.stream_obj.time = this._x); } onClipEvent (mouseMove) { updateAfterEvent(); } seekのMCに onClipEvent(enterFrame) { if(_root.marker){ var pos; marker._x = 0; if( _root.total_time != 0 ) { pos = _root.stream_obj.time /_root.total_time; marker._x = bar._width * pos; marker = marker._x } } } を、それぞれ追記しました。 markerは押された時にflvを停止し、0?133の間でドラッグを可能にして、markerフラグをfalseにする処理を(markerフラグはフラグがfalseの時にseekの動きを停止しています)、markerを離した時にmarkerフラグをtrueにし、flvを再生させる処理付け加えました。 そしてMCを読み込むたびに動画をmarkerのx軸に対応させた位置から再生したいのですが、markerを離した時にその位置から再生されず、seekに設定してある自動でmarkerが動く動作も働かなくなってしまいました。 何度試しても正常に動作してくれません。 seekに設定してある、markerを再生時間に合わせて動かすというコードがおかしいのでしょうか・・・。 引き続きよろしくお願いします。 |
あにぃ | Åê¹ÆNo.36337 投稿日時: 2007-11-19 12:04 |
職人 居住地: 北海道 投稿: 250
使用環境:
Flash8 FlashCS3 WinXP FlashLite1.1 / 2.0 |
Re: flv制御について 引用:
これで一応動作はするんですが、加えてmarkerをクリックしてx軸移動させた時に対応する座標によってflvの再生時間を設定したいのですが、上手くいきません・・・。 なにがうまくいかないのでしょうか? ・markerをクリックしてx軸移動させられない。 ・対応する座標によってflvの再生時間を設定できない。 どちらですか? ・markerをクリックしてx軸移動させられない。
・対応する座標によってflvの再生時間を設定できない。
|
みみみぃ | Åê¹ÆNo.36330 投稿日時: 2007-11-18 18:27 |
新米 居住地: 埼玉県 投稿: 10
使用環境:
WinXP,Flash8 |
flv制御について こんばんわ、お世話になります。
初めて質問させていただきます。 現在flashで外部flvを読み込み、シークバーによって再生位置を制御する、という動作をやりたいのですが、上手くいきません。 流れとしては、以下のようになります。 ●FLVを読み込む、以下のソースの用に読み込んでます。 flv01 = "01.flv"; //ローカル接続を確立 connect_obj = new NetConnection(); connect_obj.connect( null ); //ストリーミングの準備 stream_obj = new NetStream( connect_obj ); flv_view.attachVideo( stream_obj ); //メタデータを取得 stream_obj.onMetaData = function( meta:Object ) { //メタデータから全体の長さを取得 total_time = meta.duration; }; //動画の読み込み stream_obj.setBufferTime( 5 ); stream_obj.play(this.flv01); ●シークバーを作成する、seekというMCの中にbarというMCとmarkerというMCをそれぞれ作って配置しています。全体の長さと現在の再生時間に合わせてmarkerが横に動いていく、という仕組みです。 onClipEvent(enterFrame) { var pos; marker._x = 0; if( _root.total_time != 0 ) { pos = _root.stream_obj.time /_root.total_time; marker._x = bar._width * pos; } } これで一応動作はするんですが、加えてmarkerをクリックしてx軸移動させた時に対応する座標によってflvの再生時間を設定したいのですが、上手くいきません・・・。 (やりたいことはyoutubeのようなシークバーです) 解決法をお分かりになる方ご教授お願いします・・・。 開発環境:WinXP Flash8Professional 確認環境:WinXP |
« 1 (2) |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |