- 締切済み
FLVの最後に、別ページへリンク
仕事でFlashビデオを作成しています。 flvのムービーの最後に、(ボタンのようなものから)別ページへ飛ぶリンクを貼り付けようとしています。 しかし、「FLVPlayback」があるflaファイル内のタイムライン上に、ボタンオブジェクト等を置いても全く表示されません。 youtubeのように、ムービーが流れ終わった後にリンクのついたボタンを表示させるのはどうしたらよいのでしょうか。 よく分からない言い回しになってしまいましたが、よろしくお願い致します。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- DPE
- ベストアンサー率85% (666/776)
FLVPlayback コンポーネントでは、FLV の再生が終了した時(動画ファイルの最後に達した時)に” complete ”というイベントが発生します。 ボタンを予め非表示にして配置しておき、このイベントの発生を待って表示するようにしてはいかがでしょう。 ボタンが FLVPlayback コンポーネントの下になっていると見えなくなってしまうので、コンポーネントの上に配置します。 レイヤーを分けて、コンポーネントよりも上のレイヤーにボタンを配置すると簡単です。 ボタンとコンポーネントのインスタンスに、それぞれインスタンス名を付けてください。 ここでは仮に、ボタンに” link_btn ”、コンポーネントに” flv_player ”と付けたとします。 最初はボタンを非表示にし、FLV の再生終了を待ってこのボタンを表示するスクリプトは、大体、次のようになります。 このスクリプトはフレームに設定してください。 (↓各行頭に全角のスペースが入っています。コピーする際は、全て半角のスペースかタブに置き換えてください) //ボタンを非表示にしておく link_btn._visible = false; //ボタンがクリックされた時の処理 link_btn.onRelease = function() { /*ここに、ボタンがクリックされた時の処理を書く*/ }; //FLVPlaybackのリスナーオブジェクトを作成 flv_listener = new Object(); //FLVの再生が終了した時の処理 flv_listener.complete = function() { //ボタンを表示する link_btn._visible = true; }; //リスナーオブジェクトを登録 flv_player.addEventListener( "complete" , flv_listener ); //タイムラインを止めておく stop(); ボタンをクリックした時の動作は、作品に合わせて作成してください。 HTML ページを表示するなら getURL 、swf ファイル内のフレームに移動するなら play や gotoAndPlay などです。 なお、flv_listener.complete = function の中に直接 getURL などを書くと、動画の再生終了後に自動的にページやフレームを移動することもできます。
お礼
回答ありがとうございます。 早速試してみたところ、うまくいきました! 本当にありがとうございます。
補足
追加で質問です。 リンクはうまくいきましたが、再生を押すと、文字が残ったまま2回目の再生が始まってしまいます。 文字を消して再生をスタートさせるにはどうすればよいのでしょうか…?