• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Javascriptで起動するときの音の消失)

Javascriptで起動するときの音の消失

このQ&Aのポイント
  • FLASHファイルで、別のFLASHファイルをJavascriptで呼び出すときに、音が鳴りません。
  • index2.htmlにあるfile2.swfの音が途中で切れてしまいます。index.htmlの呼び出し側をAタグなどをしてJavascriptを呼んだ場合は音が鳴ります。
  • なぜ音が切れてしまうのか、困っています。

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

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

#1です。 音が途中で切れるという現象は起きませんよ。 長めの音を入れても起こりません。 どう作っても同じだとは思いますが, 一応検証してみた方法を書きます。 まず任意のドキュメントがあったとして, 「ファイル」→「読み込み」→「ライブラリに読み込み」で任意の WAVファイルか,MP3ファイルを選択します。 すると,ライブラリに任意のサウンドファイルが読み込まれますから, そのサウンドファイルを選択して,「右クリック」→「リンケージ」を選択します。 そしてリンケージプロパティのダイアログで,  リンケージ(V) : □ActionScript に書き出し にチェックを入れると自動的に  □最初のフレームに書き出し にチェックが入りますからそのままで,例えば,  識別子(I):[bgm1     ] のように,サウンドに識別子を付けます。 そして,フレームのスクリプトに BGM_sound = new Sound(this); BGM_sound.attachSound("bgm1"); BGM_sound.start(0, 1); と書いてパブリッシュ。 そのパブリッシュされたSWFを「index2.html」に貼り付けて, 「file1.swf」を貼り付けてある「index.html」をブラウザ(IE)で開き, 「file1.swf」のボタンをクリックすると,window.open で,「index2.html」がサブウィンドウとして開き, SWF に読み込んだ音が鳴り出します。 これで,途中で途切れることはありませんし, いままでかつて音が途中で鳴らなくなるような経験もありませんし, Web上に公開したものでも,そのような報告を他の人から受けたことはありません。 もっとも,サブウィンドウで開くパターンは使わないようにしているので, 普通のに Flash に音を入れて,attachSound で呼び出した場合, 他の人から音が出ないと報告を受けたことがない。 というのが正確なところですが。 とにかく,試す限り, サブウィンドウで開いても,アップしても,音が切れるようなことは経験上ありませんね。 Flash 側の問題ではなくて, ブラウザとかOSとかの不具合のような気がするのですが…。 とにかくよくわからないというのが,結論です。

haru59
質問者

お礼

すいません、返事が遅くなりました。 詳細な説明ありがとうございます! えっと解決いたしました。原因は不明ですが、まったくの新規ファイルとして作成したら、途切れることはありませんでした。お騒がせして申し訳ございません。m(__)m sassakunさんありがとうございました!

その他の回答 (1)

noname#35109
noname#35109
回答No.1

subOpen っていったい何ですか? おそらく,ユーザー定義関数の関数名だと思いますが, それがわからないので検証自体ができません。 <script language='JavaScript'> <!-- function subOpenWin(){ reSub = window.open('index2.html','newOpen',0,0,0,0,1,0,1024,680,0,0); } //--> </script> でやってみましたら, index2.html が表示されて,その中に貼り付けたFlashの音は途切れることはありませんでしたよ。

haru59
質問者

補足

回答ありがとうございます。 えっとsubOpenですが、確かにユーザー定義関数です。内容はwindow.openと同じです。すいません。 紛らわしいので上記のコードの通りwindow.openに しました。 確かに音自体は鳴るんですが1、2秒で音が切れてしまいます。 音自体は _rootのフレーム1に [file2.swf] BGM_sound = new Sound(this); BGM_sound.attachSound("bgm1"); BGM_sound.start(0,1); _rootのフレーム60に BGM_sound.stop(); を書いてます。つまり、正常に行くと7,8秒はなります。 質問のところでも書いてのですが、index2.htmlの呼び出し側をflashではなく、index1.htmlに直接 <a href="JavaScript: var sow = subOpenWin()">LINK</a> を書くとうまくいきます。 なんか関係があるんでしょうか すいません。よろしくお願いします。

関連するQ&A

専門家に質問してみよう