メイン 迷える子羊の部屋【初心者専用】 外部FLVを読み込む前にNowLoading 00%と表示させたい | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
moriyu | Åê¹ÆNo.43704 投稿日時: 2009-10-14 22:23 |
新米 居住地: 東京 投稿: 4
使用環境:
WinXP,Flash CS4 |
外部FLVを読み込む前にNowLoading 00%と表示させたい いつも参考にさせていただいておりますが
投稿は初めてします。 外部のFLVを読み込み時に、NowLoading 00%と読み込み状況を 表示させ、読み込みが100%に達したときにFLVが再生されるように したいと思っております。 FLVPlaybackは使用していません。 参考書籍や、WEBサイトも探しておりましたが SWFのLoadingはあるのですが、FLVになると 合うような答えが見つかりませんでした。 すみませんが、ActionScriptを何番目のフレームに どのようActionScriptを書けばよいのか お教え願えませんでしょうか? どうぞよろしくお願いいたします。 環境はWindows XP,Flash CS4、AcrionScript2.0です。 |
永井勝則 | Åê¹ÆNo.43728 投稿日時: 2009-10-16 9:23 |
職人 居住地: 白馬村 投稿: 796
使用環境:
Windows 7 :Flash CS4: 10.6.8 :Flash CS5.5 |
Re: 外部FLVを読み込む前にNowLoading 00%と表示させたい Flashのヘルプ(ActionScript 2.0 リファレンスガイド > ActionScript クラス > NetStream > bytesLoaded)に
出ているサンプルコードを使えば可能なのではないでしょうか。 bytesLoadedはNetStream.play()を呼び出さないと稼動しないので、 一度play()を呼び出し、直後にNetStream.pause()で再生を停め、 ロードしたバイトが100%になった時点で再度pause()を呼び出せばよいのではないでしょうか?
|
moriyu | Åê¹ÆNo.43732 投稿日時: 2009-10-16 17:33 |
新米 居住地: 東京 投稿: 4
使用環境:
WinXP,Flash CS4 |
Re: 外部FLVを読み込む前にNowLoading 00%と表示させたい 永井様
お返事ありがとうございます! なるほど、NetStream byesLoadedをキーワードに探せばよかったのですね。 お教えいただいたFlashのヘルプのActionScript 2.0 リファレンスガイド の該当ページ見つけました。 下記の部分をヒントに色々調べたのですが 実際どのように書けばよいのか、わかりません。 すみませんが、もう少しお教え願えるでしょうか? 引用:
|
永井勝則 | Åê¹ÆNo.43733 投稿日時: 2009-10-16 22:10 |
職人 居住地: 白馬村 投稿: 796
使用環境:
Windows 7 :Flash CS4: 10.6.8 :Flash CS5.5 |
Re: 外部FLVを読み込む前にNowLoading 00%と表示させたい
|
moriyu | Åê¹ÆNo.43734 投稿日時: 2009-10-16 23:12 |
新米 居住地: 東京 投稿: 4
使用環境:
WinXP,Flash CS4 |
Re: 外部FLVを読み込む前にNowLoading 00%と表示させたい お世話になります。
現状ですが、お恥ずかしながら教えていただいたのを 貼り付け(下記)、インスタンス名を変えただけです。 外部のflvを読みきったところで 初めてプログレスバーと、トータルのバイト数が表示されます。 読み込むまでは何も表示されない状態です。 こんな現状です。 引用:
|
永井勝則 | Åê¹ÆNo.43735 投稿日時: 2009-10-17 10:05 |
職人 居住地: 白馬村 投稿: 796
使用環境:
Windows 7 :Flash CS4: 10.6.8 :Flash CS5.5 |
Re: 外部FLVを読み込む前にNowLoading 00%と表示させたい 確認ですが、Videoインスタンスをステージに置き、"xxx_mov"というインスタンス名をつけていますよね?
このActionScriptコードは何をやっているかというと、 1)FLVビデオの再生 2)テキストフィールド(loaded_txt)の作成 3)ムービークリップ(progressBar_mc)の作成 4)0.5秒おきに関数を呼び出すインターバルの設定 5)そのインターバルに呼び出される関数の定義 この中で、提示されている質問に対し3)は不要で、 loaded_txtもコードから作成する必要もないので、 あらかじめステージに配置しておくと(loaded_txtというインスタンス名をつけたダイナミックテキストフィールドとして)、 コードは次のように短くなります。
この場合、ビデオはVideoインスタンスにxxx_movというインスタンス名をつけ、SWFと同じフォルダ内にvideoName.flvが存在する限り、再生されます。 もし再生されないのであれば、1)及びVideoや.flvの設定を修正する必要があります。 4)はsetInterval()というActionScriptのグローバル関数を使って500ミリ秒おきにcheckBytesLoadedという名前の関数を呼び出すインターバルを作成しています。 5)は提示の質問に対する回答の重要な部分で、 ここでは引数として送られてくるNetStreamのstream_nsの情報(プロパティ)を使ってダウンロードした割合を調べ、それをloaded_txtに表示しています。 if文ではその割合が100%を超えたらcheckBytesLoaded関数への呼び出しを止めています(インターバルをクリア)。 で、NetStream.play()で再生が開始されたビデオの再生を一時停止するにはNetStream.pause()を使います。 play()で一旦再生を開始しビデオのダウンロードを始めておいて、pause()で一時停止します。 これは”FLVをダウンロードしてから再生を開始したい”という質問の要望に応えるための処置です(通常はできるだけ再生を始めた方がユーザーには好ましいですが)。 pause()はplay()の直後に呼び出します。 これでビデオの再生は一時停止します。 FLVのダウンロードが終わったかどうかはcheckBytesLoaded()で調べています。 100%ダウンロードされたらそのインターバルをクリアするとともに再度pause()を呼び出します。 するとビデオの再生が再開されます。 なお.flvのダウンロードはローカルではあっという間に終わってしまうので、 できるだけファイルサイズの大きな.flvをインターネット上に置いてそれを再生するようにしないと、 期待されている"00%"は表示されません。
|
moriyu | Åê¹ÆNo.43737 投稿日時: 2009-10-17 11:58 |
新米 居住地: 東京 投稿: 4
使用環境:
WinXP,Flash CS4 |
Re: 外部FLVを読み込む前にNowLoading 00%と表示させたい で、できました!!
3日間ずっと悩んでおりましたが、解決しました!! 解説までしていただき、親切にありがとうございます。 素晴らしいです! ご確認のVideoインスタンスのインスタンス名は、 ご指摘の"xxx_mov"です。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |