![]() |
<!DOCTYPE HTML> <HTML LANG="ja"> <HEAD> <META CHARSET="Shift_JIS"> <TITLE>勝手に字幕</TITLE> </HEAD> <BODY STYLE="background-color:#CCFFFF"> <DIV STYLE="text-align:center"> <BR> <B>勝手に字幕</B> <BR><BR> <FORM onSubmit="return false"> 動画 URL: <INPUT TYPE=TEXT ID="file" SIZE=60 onKeyPress="if(event.which == 13) open_video()"> <INPUT TYPE=BUTTON VALUE="開く" onClick="open_video()"> </FORM> <BR> <DIV ID="wid1" STYLE="width:420px; margin-left:auto; margin-right:auto"> <DIV ID="base" STYLE="position:relative; width:320px; height:240px; background-color:black; margin-left:auto; margin-right:auto"> <VIDEO ID="vid" AUTOPLAY STYLE="position:absolute; left:0; top:0"></VIDEO> <SPAN ID="txt" STYLE="position:absolute; left:0; bottom:0; padding:2px; font-weight:bold; color:white; text-shadow:black 0 0 0.3em; cursor:default"> </SPAN> </DIV> </DIV> </DIV> <DIV ID="wid2" STYLE="position:relative"> <SPAN ID="txt2" STYLE="position:absolute; padding:2px; font-weight:bold; visibility:hidden"></SPAN> </DIV> <SCRIPT TYPE="text/javascript"> <!-- function open_video() { if(to_id != undefined) { clearTimeout(to_id); to_id = undefined; } elem_txt.innerHTML = ""; var loc = document.getElementById("file").value.trim(); if(!loc.length) return; elem_vid.src = loc; elem_vid.load(); } function vid_loaded() { if(!(vid_w = elem_vid.videoWidth)) vid_w = 320; if(!(vid_h = elem_vid.videoHeight)) vid_h = 240; elem_base.style.width = elem_txt.style.width = String(vid_w) + "px"; elem_base.style.height = String(vid_h) + "px"; document.getElementById("wid1").style.width = document.getElementById("wid2").style.width = String(vid_w + 100) + "px"; elem_txt.style.fontSize = elem_txt2.style.fontSize = String(Math.max(11, 7 + Math.floor(vid_w / 80))) + "pt"; } function vid_play() { // なぜか動画をロードしていないのにイベントが発生するときがある if(elem_vid.src == "") return; to_id = setTimeout(new_cap, 3000); } function vid_pause() { clearTimeout(to_id); to_id = undefined; } function vid_ended() { clearTimeout(to_id); to_id = undefined; elem_txt.innerHTML = ""; } function new_cap() { elem_txt.innerHTML = elem_txt2.innerHTML = caption[Math.floor(Math.random() * caption.length)]; elem_txt.style.textAlign = (elem_txt2.clientWidth > vid_w) ? "left" : "center"; to_id = setTimeout(new_cap, 7000 + Math.floor(Math.random() * 3000)); } function txt_mouse(e) { e.preventDefault(); } //---------------------------------------------------------- caption = [ "世界初公開の貴重な映像です。", "身の毛もよだつ恐怖の心霊映像", "衝撃映像! カメラが捉えた決定的瞬間!", "独占スクープ映像! Y&K密会の現場!", "決算大セール! 赤字覚悟の大安売り!", "1個 100円、5個で 400円にオマケ!", "全国の書店、コンビニにて絶賛発売中!", "地球にやさしい、とってもエコな製品です。", "古池や 坊主転んで 河童の屁", "To be, or not to be, that is the question.", "<SPAN STYLE='font-size:120%'>This is a pen.</SPAN>", "メリーさん、メリーさん、私はあなたを愛します。", "材料 … ご飯:茶碗1杯 玉子:1個 醤油:少々", "この洗練されたフォルム、優雅な走り!", "画期的な大発明 !!", "驚異のスーパー テクノロジー", "E = m c<SUP>2</SUP>", "今日は全国各地で記録的な猛暑となりました。", "明日は猛烈な寒波が押し寄せることが予想されます。", "<SPAN STYLE='position:relative'><SPAN STYLE='font-size:1.3em'>外</SPAN><SPAN STYLE='position:absolute; left:0.6em; top:-1.6em; font-size:0.6em; width:3em; text-align:left'>げ</SPAN>" + "<SPAN STYLE='position:relative'><SPAN STYLE='font-size:1.3em'>道</SPAN><SPAN STYLE='position:absolute; left:0; top:-1.6em; font-size:0.6em; width:3em; text-align:left'>どう</SPAN>" + "<SPAN STYLE='position:relative'><SPAN STYLE='font-size:1.3em'>照</SPAN><SPAN STYLE='position:absolute; left:-0.2em; top:-1.6em; font-size:0.6em; width:3em; text-align:left'>しょう</SPAN>" + "<SPAN STYLE='position:relative'><SPAN STYLE='font-size:1.3em'>身</SPAN><SPAN STYLE='position:absolute; left:0.1em; top:-1.6em; font-size:0.6em; width:3em; text-align:left'>しん</SPAN>" + "<SPAN STYLE='font-size:1.3em'> </SPAN>" + "<SPAN STYLE='position:relative'><SPAN STYLE='font-size:1.3em'>霊</SPAN><SPAN STYLE='position:absolute; left:0; top:-1.6em; font-size:0.6em; width:3em; text-align:left'>れい</SPAN>" + "<SPAN STYLE='position:relative'><SPAN STYLE='font-size:1.3em'>波</SPAN><SPAN STYLE='position:absolute; left:0.6em; top:-1.6em; font-size:0.6em; width:3em; text-align:left'>は</SPAN>" + "<SPAN STYLE='position:relative'><SPAN STYLE='font-size:1.3em'>光</SPAN><SPAN STYLE='position:absolute; left:0; top:-1.6em; font-size:0.6em; width:3em; text-align:left'>こう</SPAN>" + "<SPAN STYLE='position:relative'><SPAN STYLE='font-size:1.3em'>線</SPAN><SPAN STYLE='position:absolute; left:0; top:-1.6em; font-size:0.6em; width:3em; text-align:left'>せん</SPAN>", "なんでやねん!", "あなたは醤油派? それともソース派?", "太古の地球の様子", "古より連綿と受け継がれし匠の技", "( 上底 + 下底 ) × 高さ ÷ 2", "HCl + NaOH → NaCl + H<SPAN STYLE='font-size:70%'>2</SPAN>O", "3LDK 日当たり良好 駅より徒歩3分", "時給1000円 9:00〜20:00の間 週3〜4日", "レベル 3 ライフ 3200 スコア 23700", "人類滅亡の時まで、あと291日", "使用上の注意をよく読み、用法・用量を守って正しくお使い下さい。", "この物語はフィクションであり、登場する人物・団体等の名称はすべて架空のものです。", "冬はつとめて。雪の降りたるはいふべきにもあらず。", "巧言令色鮮矣仁 剛毅木訥近矣仁" ]; elem_base = document.getElementById("base"); elem_vid = document.getElementById("vid"); elem_txt = document.getElementById("txt"); elem_txt2 = document.getElementById("txt2"); elem_vid.addEventListener("loadedmetadata", vid_loaded, false); elem_vid.addEventListener("play", vid_play, false); elem_vid.addEventListener("pause", vid_pause, false); elem_vid.addEventListener("ended", vid_ended, false); with(elem_txt) { onmousedown = onmouseup = onclick = oncontextmenu = txt_mouse; } to_id = undefined; // ページを再ロードしたときのため document.forms[0].reset(); //--> </SCRIPT> </BODY> </HTML> |