下に示す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
(最初少しだけ手動でスクロールすればあとは自動スクロールします)
次のコードを利用しているのですね?
<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
新たに論点を絞った質問
【WebページのBGMで音声ファイルのリピート(その3)】
を投稿しました。
よろしくお願いいたします。
上記(その3)では回答を得られませんでした。
再度、
【オンラインとローカルで同一コードのWebページで振る舞いに差異】
を投稿しました。
よろしくお願いいたします。