- ベストアンサー
「画像クリックで音声再生」を JavaScript で(再質問)
「画像をワン・クリックで音声再生」を(Flash 等でなく)JavaScript で実現することってできるのでしょうか? 再生音は MIDI でなく、QuickTime 形式の MP3 で、短かめのもの(せいぜい10秒程度)です。再生の際、別ウィンドウが開いたりするのではない方法を望んでいます。 という質問をして、解答は得られなかったのですが、下記を参照して基本的には解決しました。 QNo.301957 http://www.okweb.ne.jp/kotaeru.php3?q=301957 ANo.#5 ところが、新たな疑問が出て来たので質問させて下さい。 上のやり方だと、どうも「1ページにつき画像と音声のペアが一対だけしかダメ」なようで、複数のペアだと音声が再生されなくなります。 ページにテーブルを入れて、複数のセルに複数のペアを貼り付け、いずれも音がなるようにしたいのですが、どうすればいいのでしょうか? よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
ではq=301957との併せ技で。(IE限定になります) <BGSOUND id="bgs" src="" loop="1"> <img src="sample1.jpg" alt="image1" onClick="bgs.src='sample1.mp3';"> <img src="sample2.jpg" alt="image2" onClick="bgs.src='sample2.mp3';"> 随分シンプルになったもんです。(^^;
その他の回答 (2)
- mrumesuke
- ベストアンサー率45% (254/557)
こんな感じでどうでしょう。 <img src="sample1.jpg" alt="image1" onClick="PlaySounds('sample1.mp3');"> <br> <img src="sample2.jpg" alt="image2" onClick="PlaySounds('sample2.mp3');"> <div id="hidearea" style="width:160px; height:16px;"></div> <script type="text/javascript"> <!-- function PlaySounds(file) { document.getElementById("hidearea").innerHTML = "<object classid='clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B' width='160' height='16' codebase='http://www.apple.com/qtactivex/qtplugin.cab'><param name='src' value='"+file+"'><param name='autoplay' value='true'><param name='controller' value='true'><embed src='"+file+"' type='audio/mpeg' width='160' height='16' autoplay='true' controller='true'></embed></object>"; } //--> </script>
お礼
mrumesuke さん、どうもありがとうございます。 かなりイメージが近づいてきました! ただ、画像をクリックした時に音声コントロールバーが出てしまいます。出ないようにするには controller='false' なのでしょうが、そのようにしても、なんか「ほんの一瞬だけ」バーが出てしまうようです。閲覧者によっては、ひょっとして「あれっ?今のは何だ??」って思う人もいるかもしれません ^^j。これを全く出ないようにする手立てなどはありますでしょうか。 お手数でなければ、ご教示下さるとありがたいです。
駄目元で申し訳ないんですが、 <a href="?????.mp3" target=_player>再生</a> これ試してもらえますか?
お礼
deagle さん、早速ありがとうございます。 ちょっとやってみます。
補足
ダメでした。別ウィンドウが開いちゃいます。
お礼
おおおっ!!!!!できました!!!!! mrumesuke さん、本当にありがとうございました!!!!!