音楽付きメール(2)
パート1では何のひねりもなかった音楽付きメールですが(OE5から標準機能になっちゃいましたからね)、このパート2ではその「ひねり」を加えてみることにします。
誰かあのスレを上げてちょーだい!! (新規に流されていく)
|
|
再生パネル表示付き版
掲示板上でも需要が高いということが分かったので早速作ってみたのですが、そう簡単には行きませんでした。
再生パネルは、IEにインストールされたMIDIのプラグインによって表示が異なる可能性があります。
通常ならばMedia Playerの再生パネルが表示されるはずです。(サンプル)
- 新規メールを作成し、HTML形式に設定する
- 最初の背景サウンドを指定する(メニューの[書式]-[背景]-[サウンド])
- 下書きフォルダに保存し閉じて、下書きフォルダから開きなおす(念のため)
- ウィンドウ下部の[ソース]タブを開く
- 以下の赤い部分のスクリプトを追加する
<HTML><HEAD>
<META
http-equiv=Content-Type content="text/html; charset=iso-2022-jp">
<META
content="MSHTML 5.50.4915.500"
name=GENERATOR>
<STYLE></STYLE>
<SCRIPT language=javascript><!--
function init() {
str = "<embed width=160 height=40 type='audio/mid' src='"+document.all.bgm.src+"'>"
document.all.pane.innerHTML = str
document.all.bgm.src=''
}
//--></SCRIPT>
</HEAD>
<BODY
bgColor=#ffffff onload="init()"><BGSOUND id=bgm balance=0
src="cid:008e01c1e8a1$2e152180$0101a8c0@user" volume=-110>
<SPAN id=pane></SPAN>
<DIV><FONT
size=2></FONT><FONT
size=2></FONT> </DIV></BODY></HTML>
- [プレビュー]タブを開き確認する
<SPAN></SPAN>タグの間に<EMBED>タグを作り、
src値は背景サウンドを指定している<BGSOUND>のsrc値から取得します。
それから赤いスクリプトの5行目で<BGSOUND>タグの再生を止めます。
マルチ音楽付きメール
BGMが変えられるメールなんてどれくらい需要があるかは分かりませんが、とりあえずスクリプトメールの応用という形でこういうのも作ってみました。(サンプル)
このサンプルでは、リストボックスから曲番を選択して[PLAY}ボタンをクリックすると音が再生されるようになっています。
動作確認ですが、受信(再生)側はWindows版OE全般でOKのはずです。ただしセキュリティ設定でスクリプトを抑止している場合はその限りではありません。
一方の送信(作成)側ですが、現在のところ上記OEのうち5.5でしか確認していません。
OEのバグを利用して複数の音ファイルを挿入しているので、今後のバージョンでも再現できるかは疑問…。(フレーム付きメールのような運命にならないことを祈る!)
作成方法ですが、複数の音ファイルを挿入するのがかなり厄介です。
ソース編集で<BGSOUND>タグを増やしてやると、その数だけ音ファイルも添付されるのですが、なぜか三番目以降の奇数番目の<BGSOUND>タグは消失してしまうのです。
とりあえずここでは、上記サンプルを作成する手順を書きます。
- 新規メールを作成し、HTML形式に設定する
- 最初の背景サウンドを指定する(メニューの[書式]-[背景]-[サウンド])
- 下書きフォルダに保存し閉じて、下書きフォルダから開きなおす(念のため)
- ウィンドウ下部の[ソース]タブを開く
- <BGSOUND>タグをコピーし、そのタグのすぐ後ろに貼り付ける
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0
Transitional//EN">
<HTML><HEAD>
<META
http-equiv=Content-Type content="text/html; charset=iso-2022-jp">
<META
content="MSHTML 5.50.4915.500"
name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY
bgColor=#ffffff><BGSOUND balance=0
src="cid:002401c1e924$8273b4c0$0101a8c0@user" volume=-80><BGSOUND balance=0
src="cid:002401c1e924$8273b4c0$0101a8c0@user" volume=-80>
<DIV><FONT size=2></FONT><FONT
size=2></FONT> </DIV></BODY></HTML>
- [編集]タブに戻り、次の背景サウンドを指定する
- 下書きフォルダに保存し閉じて、下書きフォルダから開きなおす(ここまでで2つ音を添付できた)
- [ソース]タブを開く
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-2022-jp">
<META content="MSHTML 5.50.4915.500" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff><BGSOUND balance=0
src="cid:003901c1e92a$142a4fa0$0101a8c0@user" volume=-80><BGSOUND balance=0
src="cid:003a01c1e92a$142a4fa0$0101a8c0@user" volume=-80>
<DIV><FONT size=2></FONT><FONT size=2></FONT> </DIV></BODY></HTML>
- 5と同様に、一つ目の<BGSOUND>タグをコピー&貼り付けで複製する
- 同じく二つ目(すでに上で増やしたので見た目は三つ目)の<BGSOUND>タグをコピー&貼り付けで複製する(HTML上には<BGSOUND>タグが全部で4つ)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-2022-jp">
<META content="MSHTML 5.50.4915.500" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff><BGSOUND balance=0
src="cid:003901c1e92a$142a4fa0$0101a8c0@user" volume=-80><BGSOUND balance=0
src="cid:003901c1e92a$142a4fa0$0101a8c0@user" volume=-80><BGSOUND balance=0
src="cid:003a01c1e92a$142a4fa0$0101a8c0@user" volume=-80><BGSOUND balance=0
src="cid:003a01c1e92a$142a4fa0$0101a8c0@user" volume=-80>
<DIV><FONT size=2></FONT><FONT size=2></FONT> </DIV></BODY></HTML>
- [編集]タブに戻り、別の背景サウンドを指定する
- 下書きフォルダに保存し閉じて、下書きフォルダから開きなおす
(ここまでで3つ音を添付できた。ソースには3つの<BGSOUND>タグ)
- 後は8〜12を繰り返しながら9・10を音ファイルの数の分だけ<BGSOUND>の複製を行う
- [ソース]タブを開き、次の赤い部分を追加する
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-2022-jp">
<META content="MSHTML 5.50.4915.500" name=GENERATOR>
<STYLE></STYLE>
<SCRIPT language=JavaScript><!--
function init() {
var bgm = new Array()
for (i=0;i<document.all.length;i++) {
if (document.all(i).tagName=="BGSOUND") {
bgm.push(document.all(i).src)
document.all(i).src = ""
}
}
}
//--></SCRIPT>
</HEAD>
<BODY bgColor=#ffffff onload="init()"><BGSOUND balance=0
src="cid:005401c1e92c$273fa5c0$0101a8c0@snagano" volume=-80><BGSOUND balance=0
src="cid:005501c1e92c$273fa5c0$0101a8c0@user" volume=-80><BGSOUND balance=0
src="cid:005601c1e92c$273fa5c0$0101a8c0@user" volume=-80>
<DIV><FONT size=2></FONT><FONT size=2></FONT> </DIV></BODY></HTML>
- これが複数の背景サウンドを使用するひな形になります。
- 添付された音ファイルへのリンクは、配列bgmに収められています。(bgm[0],bgm[1],bgm[2],…)
- 配列に収められた音ファイルの順番は、2〜13で挿入した順番の逆になっています。
- ここまでのスクリプトでは音は鳴りません。
サンプルのソースは以下のようになっています。上記のソースとの相違点を色で表します。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-2022-jp">
<META content="MSHTML 5.50.4915.500" name=GENERATOR>
<STYLE></STYLE>
<SCRIPT language=JavaScript><!--
function init() {
var str =
'<select id=bgm>'
var cnt = 1
for
(i=0;i<document.all.length;i++) {
if
(document.all(i).tagName=="BGSOUND") {
str += "<option
value='"+document.all(i).src+"'>"+(cnt++)
document.all(i).src
= ""
}
}
str += "</select>"
str +=
"<INPUT onclick=play(document.all.bgm.value) type=button
value=PLAY>"
document.all.select.innerHTML = str
}
function
play(src) {
str = "<embed width=0 height=0 id=player type='audio/mid'
src='"+src+"'>"
document.all.panel.innerHTML=str
}
//--></SCRIPT>
</HEAD>
<BODY bgColor=#ffffff onload="init()"><BGSOUND balance=0
src="cid:004a01c1e8b4$b187aa20$0101a8c0@user" volume=-80><BGSOUND balance=0
src="cid:004b01c1e8b4$b187aa20$0101a8c0@user" volume=-80><BGSOUND balance=0
src="cid:004c01c1e8b4$b187aa20$0101a8c0@user" volume=-80>
<SPAN id=select></SPAN>
<SPAN id=panel></SPAN>
<DIV><FONT size=2></FONT><FONT size=2></FONT> </DIV></BODY></HTML>
- bgm配列を使っていない。変わりにリストボックスのリスト項目の値に音ファイルの場所を納める
- onload時に<SPAN id=select></SPAN>の位置に曲を選択するリストボックスと再生のボタンを表示
- 再生ボタンのクリック時に<SPAN id=panel></SPAN>の位置に再生パネルを表示(幅・高さはゼロなので不可視)
OE活用講座ホーム |
OE活用講座掲示板
Factory |
Laboratory |
NAGANO INTERNET A
COPYRIGHT 2002
COPYWRONG 1987, 2002