• ベストアンサー

動画の再生が終わったら停止させたいです

ActionScriptを使って簡単なWebページを作ってます。 ボタンをクリックしたら短い動画が再生されるという簡単なものなのですが、一度再生せれた動画が止まらなくて(永延とループしてしまう)困っています。 onClipEventなどで動画の読み込みが終わったらとれるイベントはあるようなのですが、動画の再生が終わったらとれるイベントはあるのでしょうか? それともイベントから動画をStopさせる以外の方法があるのでしょうか? 申し訳ありませんが、教えてください。

  • Flash
  • 回答数1
  • ありがとう数0

質問者が選んだベストアンサー

  • ベストアンサー
noname#35109
noname#35109
回答No.1

動画…? 動画と言っても,Flashに埋め込んだ動画をSWFにパブリッシュしたファイル。つまり結局,SWFファイルなのではないでしょうか? SWFファイルだと,その動画の入った最終フレームに stop(); と書けば,動画はループしません。 普通のFlashと何にも変わりませんし,一番簡単で確実なのでこれが良いと思います。 あえて読み込む親SWFから,読み込まれるSWFを止めたい場合は, 読み込まれるファイルの「総フレーム数」と,「再生されているフレーム」を1フレーム進むごとに取得して, 「総フレーム数」=「再生されているフレーム」 となったとき,その読み込まれるムービーを停止させれば良いことになります。 以下は,loadMC というインスタンス名のムービークリップに, 同じディレクトリにある movie.swf を読み込むと同時に, movie.swf の「総フレーム数」と,「再生されているフレーム」を取得して,「総フレーム数」=「再生されているフレーム」 となったとき,読み込まれている movie.swf を stop(); させるボタンのスクリプト例です。 ---コピペ可--------------------------------- on (release) { loadMC.loadMovie("movie.swf"); this.onEnterFrame = function() { total_frm = _root.loadMC._totalframes; now_flm = _root.loadMC._currentframe; if (now_flm>=total_frm) { _root.loadMC.stop(); } }; } ------------------------------------------- ---上記スクリプトの説明----------------------- ※全角空白文字が入っているためそのままコピペは不可 //ボタンがクリックされたら on (release) {    // loadMC に movie.swf を読み込む    loadMC.loadMovie("movie.swf");    //1フレーム進む時間ごとに以下を計算    this.onEnterFrame = function() {       //total_frm に読み込まれたSWFの総フレーム数を代入       total_frm = _root.loadMC._totalframes;       //now_flmに 読み込まれたSWFの現在のフレーム数を代入       now_flm = _root.loadMC._currentframe;       //もし 現在のフレーム数=総フレーム数となったとき       if (now_flm>=total_frm) {          //読み込まれたムービーをストップ          _root.loadMC.stop();       }    }; } ------------------------------------------- SWFファイル以外のファイルを読み込んだ場合はよくわかりません。

関連するQ&A

  • ActionScript 2.0 再生・停止

    クリックで特定のムービークリップが再生・停止するスクリプトをAS2.0(ActionScript 2.0)で記述したいです。 現在はAS1.0で下記のようにムービークリップに記述しています。 これをAS2.0に直すとどのような記述になるでしょうか。宜しくお願いいたします。 onClipEvent (load) { mode = true; } on (release) { mode = !(mode); if (mode) { this.play(); } else { this.stop(); } }

    • ベストアンサー
    • Flash
  • ビデオで撮影した動画をWEBで再生させたい

    ビデオで撮影した動画をWEBで再生させたいのですが、現在はどんな方法が ベターでしょうか。 動画時間はまだはっきりしませんが、5分~10分程度もあれば良いのでは ないかと思っております。 以前は、WMVやMPG形式にしてリンクをクリックしたらユーザーPCの プレーヤーが立ち上がって再生できるようにした経験はあります。 WindowsユーザーにはWindowsメディアプレーヤーで、Macユーザーにはクイックタイムで見れるようになど。 でも、この頃はYouTubeのように、動画ページを開いたら動画窓があって、 そこで再生ボタンを押したらストレスなく再生できたりするやり方も ありますし、よりよいやり方が出てきたのではないかと思っております。 現在、低コストでプレーヤーが立ち上がることなく再生できる方法は どんなものがあるでしょうか。 動画データをFlashに取り込み、Flashで再生させるのが良いのでしょうか。 再生ボタンをクリックしてから読み込みが始まる「読み込み中のプログレス バーが出る」等。 宜しくお願い致します。

  • 動画が再生されない

    FlashProfessionalCS5を使っています。 (ActionScript3.0) 動画をネット(社内LAN)上に公開したいのですが、一部のPCのみ再生されません。 (Flashそのものは見れます) 動画の設定方法は、 ビデオの読み込み⇒外部ビデオを再生コンポーネントと共にロードする の方法で設定しています。 動画ファイルはWebサーバに保存してあり、ソースのパスも確認しています。 一部のPCのみ動画だけが再生されないので、パスは正しいと思うのですが・・・ IEを使っていますが、他のブラウザを試したり、ShockWaveやJavaなどをインストールしましたがダメでした。 また、FlashPlayerも最新バージョンにしてあります。 原因と対策方法がおわかりでしたら、教えて頂けないでしょうか? よろしくお願いいます。

  • Flash5での一時停止と再生

    現在、Flashであるアプリケーションの教材を作っています。 一時停止ボタンをクリックすると、ナレーションとオブジェクトが同時に動きを止め、再生ボタンをクリックすると、止まったところから再生されるようなものを作りたいと思っています。 どうやったら、上手くできるでしょうか? はっきり言って、Flashはど素人です。 ActionScriptって何???状態なので、誰か助けてください。。。

  • 動画を再生すると固まってしまう

    起因は不明ですが、突然動画を再生すると10秒ぐらいは正常に再生してくれるのですが、その後―キズ入りのCDのように―同じ部分を繰り返し再生する無限ループに陥るようになってしまいました。 そのとき使っていたソフトは「media player classic」ですが、その後WMPでも同様の状況となりました。 また、無限ループ状態となった時に一種のフリーズ状態になります。具体的には、まずその動画再生ソフトは操作を受け付けません。(しかし無限ループで再生しています)しかしマウス操作は生きており、例えばバックグラウンドにブラウザがある場合、通常通り操作できます。 しかし、このブラウザなどのタスクの「閉じる」をクリックすると同様に操作を受け付けなくなり、最終的にマウスのみ動かせて他はなにもできなくなります。 タスクマネージャ起動、ウインドウズボタンなどキーボードで動かせそうなこともできません。よって終了すら出来なくなります。(仕方なくコンセントを抜いていますが他に方法があるでしょうか・・・) コンセントを抜いて再起動すると問題なく起動し、この通りブラウザなどは使えます。動画を再生しようとすると以上の通りとなり、最終的にコンセントを抜いています・・・。これが更なるトラブルを生みそうで怖いです・・・。 長文で申し訳ありませんが、起因が判りませんので全て書き連ねると長文となってしまいました。 回答者様からのご質問も承ります。よろしくお願いいたします。

  • ニコニコ動画再生できない

    再生ボタンを押してもコメントは流れてるんですが黒いままで音も出ません。「動画の読み込みに失敗した」もでないんです。。 削除されたみたいでもないし。。。どうすればいいんでしょうか??

  • ページ上で動画を再生する。

    動画再生ボタンをクリックすると、ページが暗くなりページ上で動画を再生するサイトがありますが、あれはどのように組むのでしょうか? やり方が書いてあるサイトがあればお教えいただきたく思います。 Javascript で、別小窓を開く方法で構築してますが、上記の方法を知りたくて。

  • FLASHで書き出したexeをループ再生

    FLASHで書き出したexeをループ再生させたいです。 FLVファイルは紛失してしまい、exeファイルしかありません。 ActionScriptでストップが入っているため、FLASHプレーヤーの制御でループすることは出来ません。 なにか、簡単にループさせる方法はありますでしょうか?

  • Action Script3.0で曲の再生と停止

    play_btnとstop_btnの二つのボタンを作り、 それぞれ再生と停止ができるようにしました。 再生繰り返し回数は1回です。 そこで、play_btnをクリックし再生します。 再生が終わってから、再びplay_btnをクリックしても再生しません。 play_btnをクリックし再生してから、 stop_btnをクリックし停止させ、 再度play_btnをクリックすると再生します。 連続してplay_btnをクリックしたときには、 再生中の場合は再生を停止し新たに再生させるようにしないといけないんだろうなとおもうのですが、、。 どうスクリプトを記述すれば良いかよく分からないので、 どなたか教えていただければ幸いです。 var soundCh:SoundChannel; var snd:Sound = new BGM(); play_btn.addEventListener(MouseEvent.CLICK, PlayClick); stop_btn.addEventListener(MouseEvent.CLICK, StopClick); //イベントハンドラ定義 function PlayClick(evt:MouseEvent):void { if (soundCh == null){ soundCh = snd.play(0,1); } } function StopClick(evt:MouseEvent):void { if (soundCh != null){ soundCh.stop(); soundCh = null; } }

    • ベストアンサー
    • Flash
  • Windows Media Playerで動画を再生できない

    リアルプレーヤーやクイックタイムではweb上のボタンとクリックすれば動画を再生できるのですが、Windows Media Playerのボタンをクリックしても動画が再生できません。(ポップアップウインドウがでてきて、再生できません、と表示される)いったんファイル保存したあとは再生可能なのです。OSはWindowsXP、Windows Media Playerはバージョン10。 宜しくお願いします。

専門家に質問してみよう