swfファイルがループ再生されてしまう問題の解決方法

このQ&Aのポイント
  • swfファイルを外部.jsファイルから読み込む際に、ループ再生される問題が発生しています。
  • swfファイルには最後のフレームにstop()を設定していますが、繰り返し再生されてしまいます。
  • この問題を解決するためには、swfファイルにループ再生を停止するためのコードを追加する必要があります。
回答を見る
  • ベストアンサー

swfファイルがループ再生されてしまいます。

どなたか教えてください。 IE対応のhttp://allabout.co.jp/internet/javascript/closeup/CU20031106/index.htm swfを外部.js(index.js)から読み込むことに挑戦しています。 index.htmlには <script language='JavaScript' src='index.js'></script> index.jsには html = "" html+="<object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000'" html+=" codebase='https://fpdownload.macromedia.com/pub/shockwave/" html+="cabs/flash/swflash.cab#version=7,0,0,0'" html+=" width = 800 " html+=" height = 430 >" html+="<param name = movie value='index.swf'>" html+="<param name = quality value=high>" html+="<embed src = 'index.swf' " html+=" loop = false " html+=" quality = high " html+=" width = 800" html+=" height = 430" html+=" type = 'application/x-shockwave-flash' " html+=" pluginspage='https://www.macromedia.com/go/getflashplayer'>" html+="</embed>" html+="</object>" document.write(html) と書いて(全て同じ階層です)みごと表示はされたんですが swfファイルが何度も繰り返し再生されるんです。 swfファイル自体には最後のフレームにstop()をつけてます。 繰り返しをやめたいのですが どなたか分かる方、宜しくおねがいします。

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

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

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

stop(); が _root のタイムラインの最終フレームにちゃんと書いてあれば, タグに loop = false などなくても,最終フレームでストップします。 まず,その点の確認が必要です。 ムービープレビューを使うか,SWFファイルを直接開いてみて, 最終フレームでストップするかどうかの確認です。 ムービープレビューを使うか,SWFファイルを直接開いてみて, ストップしなければ Flashファイル(SWF) の作り方が悪いのです。 ちなみに, _root のタイムラインの最終フレームに stop(); を入れて, 書かれている JS と タグ で, 「index.swf」 を表示させてみましたが, ちゃんとストップしましたよ。 ただしわざと, _root のタイムラインの最終フレームに stop(); を入れなければ, ループしてしまいました。 その場合,ムービーの制御は object タグがします。 その, _root のタイムラインの最終フレームに stop(); を入れない状態で, 「index.swf」 を作成し, html+="<param name = loop value=false>" の一行を,外部 JS に加え,その「index.swf」 を表示させると, ループせずにちゃんと止まりました。 入れる場所は,objectタグ内ですから, この行と↓ html+="<param name = movie value='index.swf'>" この行↓の間 html+="<param name = quality value=high>" つまり,こんな具合↓にすると止まります。 html+="<param name = movie value='index.swf'>" html+="<param name = loop value=false>" html+="<param name = quality value=high>" しかし, 止まるには止まりますが, 最初に書いたように,Flash の方が大変怪しいです。 タグやJSの前に,Flash をちゃんと止めることを優先させた方が良いと思います。 例えば(例えばです), _root.onEnterFrame = function() { play(); }; なんて,どこかのフレームに書いてあれば, stop(); なんかでFlashは止まりません。 当然タグでも止まりません。 もしムービープレビューを使うか,SWFファイルを直接開いてみて,  stop(); で止まらないとするなら,その問題解決の方がやはり先です。 「Flashの制御はFlash単独で制御」 これが基本です。 何よりも先に stop(); が,できたとして, こちらの回答も参考にしてみてください↓。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=2213812  ↑教えて!goo  ↓OKWave (同じです) http://okwave.jp/kotaeru.php3?q=2213812 #3 の方が Studio8 を持たれていた場合の回答をされていますし, #2(私)が,その AllAbout の JS は意味がわかりにくいし, 使い勝手が悪いという理由で, 最後にもっと良い JS のサイトを紹介しています。

nitro2106
質問者

お礼

ごめんなさい。 ご回答いただいた文章を読んでいくうちに自分の単純な勘違いに気づかされてしまいました。やはりおっしゃられてるとおり最後のフレームにstop();がついてませんでした。自分ではてっきりついてると思い込んでました。無事、解決できました。親切丁寧な説明をありがとうございました。

関連するQ&A

  • flashのswfファイルを1ページに2つ表示できない?

    ネットでいろいろ検索したのですが、なかなか見つからず、質問させて下さい! index.htmlの上部にトップイメージとして、swfファイルを挿入。 同じindex.htmlのコンテンツの中に、もう一つswfファイルを入れました。 サーバーにUPして見てみると、safari,FireFoxではちゃんと表示されるのですが、 IEだと、6、7ともに2つ目のswfファイルが表示されず、空白になってしまいます。書き方がいけないのでしょうか? 作成時はflash8です。よろしくお願いします。 <div id="movie"> <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="800" height="250"> <param name="movie" value="top.swf" /> <param name="quality" value="high" /> <embed src="top.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="800" height="250"></embed> </object> </div> ・ ・ ・ <div id="content"> <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="577" height="330"> <param name="model" value="model.swf" /> <param name="quality" value="high" /> <embed src="model.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="577" height="330"></embed> </object>

  • swfが動かない

    swfが動かない条件があります。 ローカル上では ・htmlに組み込んだSWFは動きます。 (hogehoge.htmlの中にSWFを組み込む) ・もちろんのことながら直接SWFをローカルで確認することも可能 サーバーアップ後 上記のまま、サーバーにアップ。 ・http://XXXX/XXX/XXXX.html(htmlのなかにobjectで組み込み)上では動かない ・直接http://XXXX/XXX/XXXX.swfは動きます。 index.swfにしないといけないのでしょうか? hogehoge.swf  バージョン9なので自分のPCも最新のフラッシュプレーヤーをインストールしましたがサーバーhtml上では動きません。 <body> <script type="text/javascript"> AC_FL_RunContent( 'codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0','width','930','height','540','src','ほげほげ','quality','high','pluginspage','http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash','movie','ほげほげ' ); //end AC code </script><noscript><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" width="930" height="540"> <param name="movie" value="ほげほげ.swf"> <param name="quality" value="high"> <embed src="ほげほげ.swf" quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="930" height="540"></embed> </object></noscript> ・ ・ ・ てな感じです。

    • ベストアンサー
    • Flash
  • CSSにswfを埋め込む記述

    こんばんは。CSSを勉強中です。 HTMLの中にメニューのSWFファイルを埋め込みたいのですが、その場合はCSSでの設定はどのようにしたらいいのでしょうか? HTML上に<object classidcodebase="****" width="750" height="80"> <param name="movie" value="1.swf"> <param name="quality" value="high"> <embed src="1.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="750" height="80"></embed></object> と入れれば表示されますが、それが正しいやり方なのでしょうか?なんだか違っているような気がするのです。 cssで設定しなくてもいいのでしょうか?ご存知の方教えてください。おねがいします。

    • ベストアンサー
    • HTML
  • swfobjectで表示させたswfをランダムに表示したい

    swfobjectで表示させているswfを、 リロードするたびにswfファイルを読み込んでランダムに表示させたいと思います。 下記のswfをランダムに表示させるサンプルソースを流用して 使用しようとしたのですが、javascriptに詳しくないのでうまく行きません。 <embed>タグ、<object>タグを使わずに、swfobjectの書き方に合わせる記述のしかたを教えていただきたいです。 <script type="text/javascript"> <!-- simg=new Array(2); simg[0]="index"; simg[1]="index2"; Myimg=Math.floor(2*Math.random()); document.write("<object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000' codebase='http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.c... width='100%' height='100%'><param name='allowScriptAccess' value='sameDomain' /><param name='movie' value='"+simg[Myimg]+".swf' /><param name='quality' value='high' /><param name='bgcolor' value='#ffffff' /><param name='LOOP' value='false'><embed src='"+simg[Myimg]+".swf' quality='high' bgcolor='#ffffff' width='100%' height='100%' allowScriptAccess='sameDomain' type='application/x-shockwave-flash' pluginspage='http://www.macromedia.com/go/getflashplayer' loop='false' /></embed></object>"); //--> </script>

  • .swfを自動再生されないようにしたい

    ページを開くと勝手に再生される.swfを、再生されないようにしたいです。 動画の下部にはシークバー、一時停止・再生ボタンがついています。 動画は flash.html というページにJavascriptで貼られています。 <script type="text/javascript" src="movie.js"></script> そのflash.htmlがトップページにインラインフレームで貼り付けてある状態です。 またJavascriptの中身は以下の通りです。 // JavaScript Document //document.write("JavaScript ON !<br>"); swf = new Array(); swf[0] = "./movie/hoge.swf"; swf[1] = "./movie/hoge.swf"; swf[2] = "./movie/hoge.swf"; swf[3] = "./movie/hoge.swf"; num = Math.round(Math.random() * (swf.length - 1)); strHtml = ""; strHtml+="<object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000'"; strHtml+=" codebase='http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0'"; if (0 == num) { strHtml+=" width=400"; strHtml+=" height=350 >"; } else { strHtml+=" width=400"; strHtml+=" height=350 >"; } ; strHtml+="<param name = movie value='" + swf[num] + "'>"; strHtml+="<param name = quality value=high>"; //strHtml+="<noembed>"; //strHtml+="<img src='./image/hoge.jpg' width='500' height='400'><br>"; //strHtml+="</noembed>"; strHtml+="<embed src = '" + swf[num] + "' "; strHtml+=" quality = high "; if (0 == num) { strHtml+=" width=400"; strHtml+=" height=350"; } else { strHtml+=" width=400"; strHtml+=" height=350"; } ; strHtml+=" type = 'application/x-shockwave-flash' "; strHtml+=" pluginspage='http://www.macromedia.com/go/getflashplayer'>"; strHtml+="</embed>"; strHtml+="</object>"; document.write(strHtml); この中のどこかを修正すれば、勝手に再生されないように出来ますか? 可能であれば修正点を教えて下さい。

  • swfファイルをつなげて再生するためのhtmlタグ?

    すみません。重たいswfファイルを分割してアップロードするまでは出来たのですが、 一つのビューにそれをつなげて表示させることはできますか? 教えて頂けませんか? 現在はファイル一つですが、 以下のタグを入れてきちんと動作しています。 <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="728" height="260"> <param name="movie" value="ゆーあーるえる" /> <param name="quality" value="high" /> <param name="bgcolor" value="ffffff" /> <embed src="ゆーあーるえる" quality="high" bgcolor="ffffff" width="728" height="260" align="middle" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /> </object> 他にも調べたところ、 _root.MC1.loadMovie("aaa.swf"); _root.MC2.loadMovie("bbb.swf"); _root.MC3.loadMovie("ccc.swf"); このようなものを使うといいと書いてあったのですが、いまいちわからなくて・・・すみませんが宜しくお願い致します!

    • ベストアンサー
    • Flash
  • html内に組みこんだswfについて

    再生・停止・一時停止・曲名表示機能を持った音楽プレイヤーをFlash(AirMusicPlayer.swf)で作成しました。 以下のソースのように、htmlで表示出来るように試してみたところ、 ボタン・曲名等は表示されず真っ黒な背景だけが表示される形になっています。 <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"      codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0"      width=450 height=250>       <param name=movie value="AirMusicPlayer.swf">       <param name=quality value=high>       <param name=bgcolor value=#000000>       <embed src="AirMusicPlayer.swf" quality=high bgcolor=#000000 width=450 height=250         type="application/x-shockwave-flash"        pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">       </embed>     </object> 上記のソースでは、ボタン・曲名等を表示させることはできないのでしょうか? ソースの訂正、又は別の方法等ありましたら、ご教授頂けると助かります。

  • ランダムにswfバナーを表示させたい

    images/bnフォルダ内に、0.swf~4.swfのバナーを 5枚用意して、それをアクセスするたびにランダムに 表示させようと思い、下記のように記述してみたのですが、 エラー表示されて表示できません。 どこが間違っているのか、どなたかご教授頂けませんでしょうか。 <html> <head> <SCRIPT Language="JavaScript"> <!-- function randomJump() { ImageCount = 5; num = Math.floor(Math.random() * ImageCount); document.write("<object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0' width='234' height='60'>"); document.write("<param name=movie value='images/bn/"+num+".swf'>"); document.write("<param name=quality value=high>"); document.write("<embed src='images/bn/"+num+".swf' quality=high pluginspage='http://www.macromedia.com/jp/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash' type='application/x-shockwave-flash' width='234' height='64'></embed>"); document.write("</object>"); } // --> </SCRIPT> </head> <body> <SCRIPT Language="JavaScript">randomJump();</SCRIPT> </body> </html>

  • swfファイルが Mozilla Firefox で小さく表示されてい

    swfファイルが Mozilla Firefox で小さく表示されています。 こちらのサイトでも同じような質問を見かけたので参考にしていましたが 私の力不足により、解決できなかったのでみなさんのお力をおかりしたいです。 ブラウザのウインドウサイズに合わせて、swfファイルが表示される大きさが変わる仕様です。 IEでは問題なく表示されています。 HTMLのソースは下記の通りです。 ──────────────────────────────────────── <div align="center" class="style1"> <script type="text/javascript"> AC_FL_RunContent( 'codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0','width','100%','height','100%','src','top','wmode','transparent','quality','high','pluginspage','http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash','movie','top' ); //end AC code </script> <noscript> <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" width="100%" height="100%"> <param name="movie" value="top.swf" /> <param name="quality" value="high" /><param name="wmode" value="transparent"> <embed src="top.swf" width="100%" height="100%" wmode="transparent" quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash"></embed> </object> </noscript></div> ──────────────────────────────────────── 他の質問・回答では embed src="top.swf" width="100%" height="100%"の部分のwidthとheightの値が 100%になっていなかったためとありましたが、 私が作成したものは最初から上記ソースのように100%になっているので解決方法が分かりません。 どうかみなさまのお力をお貸しください。 今週末にある友人の結婚式で使うものなので、至急回答をお待ちしております。 私の制作環境は自宅(主婦で趣味の延長)で OS:Windows vista  ソフト:DW CS3 です。 よろしくお願いいたします。

  • javascriptでflash表示を添削して下さい

    javascriptでflash表示を添削して下さい 超初心者です javascriptでflash表示する為、色々記述しましたがどうしてもflash表示できません。下記の記述内容を添削していただけませんでしょうか? よろしくお願い致します (js外部ファイル=photo.js) document.write("<object classid='clsid:d27cdb6e-ae6d-11cf96b8-444553540000' codebase='http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8.0.0.0' width='130' height='150' align=''> <param name='movie' value='./flash.swf /> <param name='quality' value='high'/> <param name='bgcolor' value='#ffffff'/> <embed src='./flash.swf quality='high' bgcolor='#ffffff' width='130' height='150' align='' type='application/x-shockwave-flash' pluginspage='http://www.macromedia.com/go/getflashplayer'/> </object>"); (html内の記述) <script type="text/javascript" src="./photo.js"></script> (特記事項) 外部ファイル(photo.js)、HTML、画像(photo.swf)はすべて同一フォルダ(デスクトップ)です 以上です どうかよろしくお願い致します

専門家に質問してみよう