トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     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軸移動させられない。
_xmouseを駆使してみましょう。



・対応する座標によってflvの再生時間を設定できない。
connect_obj.seek(n);//nには秒数


----------------
質問する際には、ご自分でできる限り調べてから投稿して下さい

P・S 職人おめでとう。(08/10/09)

みみみぃ
Åê¹Æ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)
スレッド表示 | 古いものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops