//マルチメディアライブラリ:mmlib 小山智史(弘前大学) DATE="2001.7.18-2004.2.12" /* Quick Reference: round1(n) nを小数点以下1桁に四捨五入 csv2array(s) csvデータsを改行で分割した後","で分割した2次元配列を返す frameset(option1,option2) のオプションを指定してdocumentを分割 initSND() SOUNDレベルに応じてsndfileを埋めこむ embed(sndfile) sndfileを埋めこむ sndplay(sndfile) sndfileを再生する randint(n) 1〜nの整乱数 shuffle(A) 配列Aをシャフル shuffle1(A,n,o1) 配列A[o1〜]のn個の要素のシャフル shuffle2(A,n,o1,o2) 配列A[o1〜], A[o2〜]のn個の要素の連動シャフル shuffle3(A,n,o1,o2,o3) 配列A[o1〜], A[o2〜], A[o3〜]のn個の要素の連動シャフル strsnd(A) 文字列Aを":"で分割し、初めのSndfileを返す strhtm(A) 文字列Aを":"で分割し、初めのHtmfileを返す strimg(A) 文字列Aを":"で分割し、初めのImgfileを返す strimgtag(A) 文字列Aを":"で分割し、初めのImgfileからHTMLタグを作り(IMGALIGN, IMGWIDTH, IMGHEIGHTを含む)、返す strtxt(A) 文字列Aを":"で分割し、初めのTxtfileを返す IsImgfile(s) 文字列sの末尾が".gif"または".jpg"ならばtrue IsSndfile(s) 文字列sの末尾が".wav"または".au"ならばtrue IsHtmfile(s) 文字列sの末尾が".htm"ならばtrue */ //パラメータのデフォルト値 //---ここから--- SOUND=0 TITLE="MMI library " CREDIT="" IMG="img" //image files are in this folder SND="snd" //sound files are in this folder //---ここまで--- //function round1(x){return Math.round(x*10)/10} function round1(x){ //2005.8.20 var x10=Math.round(x*10)+""; var i=x10.substring(0,x10.length-1); if(i=="") i="0"; else if(i=="-") i="-0"; return i+"."+x10.charAt(x10.length-1); } function csv2array(s){ var data=s.replace(/[\r\n]+/g,"\n").replace(/^\n/,"").replace(/\n$/,"").split("\n") for(var i=0;i"+DATE+" MMI library by S.Koyama"} var agt=navigator.userAgent.toLowerCase() var is_major= parseInt(navigator.appVersion) var is_nav = ((agt.indexOf('mozilla')!=-1) && (agt.indexOf('compatible')==-1)) var is_nav4 = (is_nav && (is_major==4)) var is_nav4up=(is_nav && (is_major>=4)) var is_nav5up=(is_nav && (is_major>=5)) var is_ie = (agt.indexOf("msie")!=-1) var is_ie3 = (is_ie && (is_major< 4)) var is_ie4 = (is_ie && (is_major==4) && (agt.indexOf("msie 5.0")==-1) ) var is_ie4up= (is_ie && (is_major>=4)) var is_ie5up= (is_ie && !is_ie3 && !is_ie4) if(document==top.document) CtrlFrame=ButtonFrame=ScanFrame=MenuFrame=ContentFrame=top else{ CtrlFrame=ButtonFrame=ScanFrame=MenuFrame=top.frames[0] QAFrame=ContentFrame=top.frames[0] KRFrame=top.frames[1] } var sndidx=new Array(); Ns=0 var sndFIFO=new Array(""); NFIFO=0 var ie4str="" if(is_ie4up) document.write(""); function frameset0(foption){with(document){ var nf=foption.split(",").length open() write(""+TITLE+"") // write("") write("") // write(" ") write(" ") write(" ") // for(var i=1;i") for(var i=1;i") write("") close() }} function frameset(foption1,foption2){with(document){ var nf1=foption1.split(",").length open() write(""+TITLE+"") // write("") write("") if(frameset.arguments.length==2){ var nf2=foption2.split(",").length // write(" ") write(" ") // write(" ") write(" ") write(" ") // for(var i=2;i") for(var i=2;i") write(" ") // }else write(" ") }else write(" ") write(" ") // for(var i=2;i") for(var i=2;i") write("") close() }} function irt(){ //タイマー割り込み if(NFIFO==0) return if( is_ie4up &&document.embeds[sndidx[sndFIFO[0]]].playState || is_nav4 &&document.embeds[sndidx[sndFIFO[0]]].IsPlaying()) return else{ //再生終了 for(i=0;i0){ if(is_nav4 || is_ie4up) document.embeds[sndidx[sndFIFO[0]]].play() // else if(is_nav5up) document.embeds[sndidx[sndFIFO[0]]].Play() } } } function initSND(){ if(SOUND>=0) setInterval("irt()",100) if(SOUND>=1){ PINPONsnd=new Array("pinpon.au","seikai.au","dekita.au","yatta.au") BUUsnd=new Array("buu.au","chigau.au","zannen.au") for(i=0;i=2){ AAsnd=new Array("fan2.au","aames.au") Asnd=new Array("pin3.au","ames.au") Bsnd=new Array("ganbare.au","bmes.au") Csnd=new Array("down1.au","cmes.au") for(i=0;i=3){ if(strsnd(Qmes)!="") embed(strsnd(Qmes)) NUMsnd=new Array("0.au","1.au","2.au","3.au","4.au","5.au","6.au","7.au","8.au","9.au","10.au") for(i=0;i