- ベストアンサー
テキストファイルの内容を1行ずつ大きく表示させたい
テキストファイルの内容を1行分あるいは適当な長さずつ、大きく表示させるフリーソフトを探しています。 次の行の内容を見るためにはキーボードの矢印を使うといった様な操作が希望です。 海外の大学の講義を動画で見る時に使うのが目的です。つまりスクリプトは持っているので、それを字幕のように自分で操作してブラウザの下に出したいのです。 よろしくお願いします。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
補足です。 動画のほうは保存しておく必要はありません。
その他の回答 (5)
- INTLINSIDE
- ベストアンサー率42% (383/907)
body以下の部 <body> <iframe ID="VD1" class="youtube-player" type="text/html" width="480" height="390" src="http://www.youtube.com/embed/FNQowwwwYa0" frameborder="0" allowFullScreen></iframe> <iframe ID="DISP1" type="text/html" width="4" height="4" src="" frameborder="1"></iframe> <div ID="DISP2"></div> <form id="f1"> <input value="to normal" type="button" onclick="svs('480','390')"> <input value="to 80%" type="button" onclick="svs('80%','')"> <br> <input value="open" type="button" onclick="svc(this.form.url1.value)"> VIDEO ID: http://www.youtube.com/watch?v=<input id="url1" type="text" value="FNQowwwwYa0"> <br> <input value="open" type="button" onclick="sd(this.form.textURL.value)"> TEXT URL:<input style="width:70%" type="text" id="textURL" value="file:///d:/test/doc.html"> <br> <input id="ifsz" type="text" value="200%"> <input type="button" value="set size" onclick="ss(this.form.ifsz.value)"> <input type="button" value="prev(Z)" onclick="trs(-1)"> <input type="button" value="next(X)" onclick="trs(1)"> </form> </body> </html>
- INTLINSIDE
- ベストアンサー率42% (383/907)
スクリプト部 <html> <head> <script type="text/javascript"> var idx=0; var fsz='200%'; function svc( v){ document.getElementById('VD1').src = 'http://www.youtube.com/embed/' + v;} function svs(w,h){ var vd=document.getElementById('VD1'); if(w){vd.style.width = w;} if(h){vd.style.height= h;} } function sd(u){ document.getElementById('DISP1').contentWindow.location.href = u; t('READY'); } function ss(sz){ fsz=sz; } function t(s){document.getElementById('DISP2').innerHTML='<div id="DISP2" style="font-size:' + fsz + '">'+s+'</div>';} function trs(v){ if (v>0){idx++}else{idx--;} if (idx<0){idx=0;} var f=(frames['DISP1'])||(document.getElementById('DISP1')); if (!f){t('e1');return;} var w=(f.contentWindow)||(f.window); var d=w.document; if (!d){d=f.contentDocument;} if (!d){t('e3');return;} var ps= new Array(); ps=d.getElementsByTagName('p'); if (idx>ps.length){idx=ps.length;} var p=ps.item(idx); if (p){t('('+idx+'/'+ps.length+'):'+p.innerText);}else{t('out of range:'+idx)} } document.onkeydown = function(k){ if(k!=null){ var key=e.which; k.preventDefault(); k.stopPropagation(); }else{ var key=event.keyCode; } var c=String.fromCharCode(key).toUpperCase(); if(key==38){trs(-1);} else if(key==40){trs(+1);} else if(c=='Z'){trs(-1);} else if(c=='X'){trs(+1);} } </script> </head>
- INTLINSIDE
- ベストアンサー率42% (383/907)
このHTMLを使う方法だと、オンラインでは使えなくなります。 iframeが、異なるドメイン間のドキュメントを表示しているときに、セキュリティー的な面からアクセスを拒否してしまうので、ドキュメントの加工ができないのです。 なので、サイズを変更したり、1行ずつ取り出すといったこともできません。 あらかじめ、その英語ドキュメントをローカルに保存しておくならば、大丈夫です。 たとえば、 英文の内容を D:\DOC\test.html とか、そういう場所に保存しておいてもらえば動きます。 で、JavaScriptなのですが、この回答内容の欄が文字数制限があるらしく長すぎて張れません。 スクリプト部とHTML部で2つに分けるので、結合してファイルに保存して、お使いください。 使い方は前と同じです。 2画面構成だったのはやめました。(隠してあるだけですが) 1.Youtube のビデオのIDを入力して Open 2.テキストのファイルへのパスを例にならって入力して Open 2 が終わると、動画の下あたりに READY と出ます。 エラーがある場合は e1 ~ e3 と出ます。 Chrome では動きませんでした。Firefox は分かりません。IE8では動きました。 行は Zキー、Xキー、上、下、で変わります。 フォントの大きさは、左下の入力欄に半角の%付で設定し、set size を押してください。 そんな感じです。
- INTLINSIDE
- ベストアンサー率42% (383/907)
最初、いわゆる字幕表示機能がついているソフトウェアを考えたのですが、 そのテキストデータは、特にビデオと併用することを考えて作られているわけではないので、編集しないと、そういったアプリケーションでは使えません。 で、そういったプレーンなテキストを1行ずつ表示しなければならないというのが、けっこう限定的な用途のように思うので、おそらく探しつづけても見つからないでしょう。(一応探しましたが、ありませんでした) そういうわけで、以下のようなものを作りました。 改行を見つけて1行ずつ表示してみようとも思いましたが、おそらく1行ずつでは追えないと思うので、全部表示したほうがよい様に思います。 1.VIDEO ID に youtube の v= から始まる ID を指定し open を押す。 2.TEXT URL に その講義内容をテキストにしたデータがおいてあるURLを指定し、open を押す。 すると左右に並べて表示しますので、まあ、ないよりはマシかと・・・。 viewer.html などという名前でデスクトップ等に保存し、ブラウザにドラッグ&ドロップやお気に入りなどから読み込ませて利用します。 Javaスクリプト自体は単純なものですので、お好みに合わせてどうぞご自由に。 やはり1行ずつでないと困るという場合は、たぶんできると思いますので、ご一報ください。 他の方でも、これを見つけてくれれば、やってくれると思います。 <html> <head> <script type="text/javascript"> function SetVideoContent( vid){ document.getElementById("VIDEO1").src = "http://www.youtube.com/embed/" + vid; } function SetVideoSize(w,h){ var vd=document.getElementById("VIDEO1"); if (w) { vd.style.width = w;} if (h) {vd.style.height= h;} } function SetDisplay( url){ document.getElementById("DISPLAY1").src = url; } </script> </head> <body> <iframe ID="VIDEO1" title="YouTube video player" class="youtube-player" type="text/html" width="480" height="390" src="http://www.youtube.com/embed/FNQowwwwYa0" frameborder="0" allowFullScreen></iframe> <iframe ID="DISPLAY1" title="YouTube video player" type="text/html" width="480" height="390" src="" frameborder="1"></iframe> <div> <form id="f1"> <input value=" to normal" type="button" onclick="SetVideoSize('480','390')"> <input value=" to 80%" type="button" onclick="SetVideoSize('80%','')"> <br> <input value="open" type="button" onclick="SetVideoContent(this.form.url1.value)"> VIDEO ID: http://www.youtube.com/watch?v=<input id="url1" type="text" value="FNQowwwwYa0"> <br> <input value="open" type="button" onclick="SetDisplay(this.form.textURL.value)"> TEXT URL:<input style="width:70%" type="text" id="textURL" value="http://see.stanford.edu/materials/icspacs106b/transcripts/ProgrammingAbstractions-Lecture02.html"> </form> </div> </body> </html>
補足
ありがとうございます!! すばらしいです!! ビデオのサイズとテキストのサイズは以下のようにしたのですが、、下に表示するテキストの文字の大きさは大きく出来ないでしょうか?? あと、やっぱり1度に表示するのはやはり1行分が希望です。何行もあると読みづらい気がいたします。また、キーボードの矢印を押したりなどで、次の行にいけたりできないでしょうか? よろしくお願いします。 <html> <head> <script type="text/javascript"> function SetVideoContent( vid){ document.getElementById("VIDEO1").src = "http://www.youtube.com/embed/" + vid; } function SetVideoSize(w,h){ var vd=document.getElementById("VIDEO1"); if (w) { vd.style.width = w;} if (h) {vd.style.height= h;} } function SetDisplay( url){ document.getElementById("DISPLAY1").src = url; } </script> </head> <body> <iframe ID="VIDEO1" title="YouTube video player" class="youtube-player" type="text/html" width="100%" height="480" src="http://www.youtube.com/embed/FNQowwwwYa0" frameborder="0" allowFullScreen></iframe> <p> <iframe ID="DISPLAY1" title="YouTube video player" type="text/html" width="100%" height="180" src="" frameborder="1"></iframe> </p> <div> <form id="f1"> <input value=" to normal" type="button" onclick="SetVideoSize('480','390')"> <input value=" to 80%" type="button" onclick="SetVideoSize('80%','')"> <br> <input value="open" type="button" onclick="SetVideoContent(this.form.url1.value)"> VIDEO ID: http://www.youtube.com/watch?v=<input id="url1" type="text" value="FNQowwwwYa0"> <br> <input value="open" type="button" onclick="SetDisplay(this.form.textURL.value)"> TEXT URL:<input style="width:70%" type="text" id="textURL" value="http://see.stanford.edu/materials/icspacs106b/tr … </form> </div> </body> </html>
- INTLINSIDE
- ベストアンサー率42% (383/907)
質問があります。 ・そのスクリプトというのは、どういうものでしょう? ・テキストデータは、そのスクリプトとやらに入っているんですか? ・動画というのは、ブラウザで見なければならないのですか? ・そのブラウザというのはIEやFirefoxのことでしょうか? ・Media Playerなどではいけないのですか? 仕様が分かれば、探せるかもしれません。
補足
回答ありがとうございます。 説明足らずで申し訳ないです。以下補足いたします ・そのスクリプトというのは、どういうものでしょう? 具体的には以下のリンクの内容です http://see.stanford.edu/materials/icspacs106b/transcripts/ProgrammingAbstractions-Lecture02.html ・テキストデータは、そのスクリプトとやらに入っているんですか? スクリプトは上のリンク先の内容のことで、それをメモ帳などに移した物をテキストデータとします。 ・動画というのは、ブラウザで見なければならないのですか? youtubeに講義がアップされているので、それを見ながらという形が良いです。しかし、それが無理ならもちろん動画をダウンロードして動画再生ソフトで見ても構わないです。 ・そのブラウザというのはIEやFirefoxのことでしょうか? Firefoxです。 ・Media Playerなどではいけないのですか? 構わないです。 よろしくお願いします。 回答お待ちしております。
お礼
IEでうまくいきました!! 感謝しております。 Javascriptって面白いですね。今やってることが一段落したらやってみようかと思います。 最後まで面倒みていただいて、ありがとうございました。