【WebページのBGMで音声ファイルのリピート】

下に示すWebページ(※)はBGM付きで自動スクロールします。
 ・Internet Explorer
 ・Chrome
ではBGMを無限に繰り返しますが
 ・Firefox
ではBGMは1回だけで繰り返しません。
この曲の長さがちょうど自動スクロール終了までの長さとあっているので
繰り返さなくても問題はなさそうです。

実は、このWebページのソースコードに倣って自作のWebページに
BGMを付け、自動スクロールさせています。
こちらの場合、短い曲なのですが、上記と同じで
 ・Firefox
ではBGMは1回だけで、曲が終わってもスクロールが続いています。
FirefoxでもBGMを繰り返すにはどうすればよいでしょうか?

(※)
  ●New Year Wishes
  http://llerrah.com/newyearwishes.htm
  (最初少しだけ手動でスクロールすればあとは自動スクロールします)

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2013/03/04 01:42:49
  • 終了:2013/03/04 12:39:16

ベストアンサー

id:rouge_2008 No.1

rouge_2008回答回数594ベストアンサー獲得回数3512013/03/04 03:10:38

次のコードを利用しているのですね?

<SCRIPT language="JavaScript">
if ((navigator.userAgent.indexOf("Firefox")!=-1) && navigator.appVersion.indexOf("Win") > 0)
{
document.writeln("<embed type=application/x-mplayer2 pluginspage=http://www.microsoft.com/Windows/MediaPlayer/ Name=MediaPlayer src=midi/mhastime.mid AutoStart=True ShowStatusBar=0 HEIGHT=1 WIDTH=1></embed>");
}
else if ((navigator.userAgent.indexOf("MSIE"))!=-1)
  document.writeln("<BGSOUND SRC=midi/mhastime.mid LOOP=INFINITE VOLUME=-500>");
else
  document.write( '<embed src = "midi/mhastime.mid" autostart="true" HEIGHT=1 WIDTH=1 loop="true" ></embed>' );
</SCRIPT>


以前の質問と関連しますが、Firefoxは1番目の条件、IEは2番目の条件、Google Chromeはそれ以外なので最後に一致します。

まず、繰り返し再生されるIEは次のコードが出力されます。

<BGSOUND SRC=midi/mhastime.mid LOOP=INFINITE VOLUME=-500>

再生回数を指定するloopの初期値は「1」なので、指定しない場合は1回だけ再生されますが、上記でのコードでは「infinite」を指定しているので無限に繰り返し再生されます。

http://tagland.net/html401/bgsound.html

loop = iLoop 初期値 : 1
この属性には、繰り返しの回数を指定します。

  • -1 : 無限に繰り返します。
  • 0 : 1回のみ(繰り返しなし)。
  • count : 繰り返しの回数を指定します。
  • infinite : 無限に繰り返します。


次にGoogle Chromeですが、次のコードが出力されます。

<embed src = "midi/mhastime.mid" autostart="true" HEIGHT=1 WIDTH=1 loop="true" ></embed>

再生回数を指定するloopの初期値が「false」のようですので、指定しない場合は1回だけ再生されますが、上記のコードでは「true」を指定しているので無限に繰り返し再生されます。

http://w3g.jp/xhtml/dic/embed

loop属性

  • バージョン

Netscape Navigator の独自機能

  • 指定要素

embed

  • 必須

-

  • 非推奨

-

  • 属性値

整数("1"以上) true false
プラグインデータの繰り返し再生を指定します。値には整数で再生回数を指定する場合と、次の2つのキーワードがあります。キーワードは半角アルファベットの大文字・小文字が区別されません(case-insensitive)。

  • true

無限に繰り返し再生する

  • false

1回だけ再生する

なお、loop属性の指定がない場合の UA の初期値は、"false" に設定されており1回だけ再生するようです。


※間違いでしたので訂正※
Firefox用のコードにも「loop="true"」を追加する事で、繰り返し再生されるはずです。
Windows Media Player Firefox Pluginは、「loop」属性に対応していないようでした。
「playcount=0」を指定してください。
http://phpjavascriptroom.com/?t=strm&p=wmv_control#a_playcount

他5件のコメントを見る
id:mkonomi

 
新たに論点を絞った質問
【WebページのBGMで音声ファイルのリピート(その3)】
を投稿しました。
よろしくお願いいたします。
 

2013/03/06 09:48:43
id:mkonomi

 
上記(その3)では回答を得られませんでした。
再度、
【オンラインとローカルで同一コードのWebページで振る舞いに差異】
を投稿しました。
よろしくお願いいたします。
 

2013/03/19 21:38:56

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません