sudo pdbedit -a (SAMBA接続用ユーザID)
netbios name = RaspberryPi
browseable = yes
local master = yes
os level = 200
ntlm auth = yes
[hdd1]
comment = HDD1
path = /media/hdd1
writable = yes
browseable = yes
valid users = (SMB接続用ユーザID)
[hdd2]
comment = HDD2
path = /media/hdd2
writable = yes
browseable = yes
valid users = (SMB接続用ユーザID)
sudo testparm
sudo systemctl restart smbd nmbd
sudo systemctl enable smbd
sudo systemctl enable nmbd
sudo systemctl enable smbd nmbd
sudo apt-get install autofs
sudo blkid
/media /etc/auto.misc
hdd1 -fstype=ntfs-3g,rw :/dev/disk/by-uuid/(調べたUUID)
hdd2 -fstype=ntfs-3g,rw :/dev/disk/by-uuid/(調べたUUID)
sudo mkdir /media/hdd1 /media/hdd2
sudo systemctl restart autofs
ls /media/hdd1
dtparam=pwr_led_trigger=heartbeat
wget -O - https://github.com/OpenMediaVault-Plugin-Developers/installScript/raw/master/install | sudo bash |
[FAILED] Failed to start LSB: Starts ProFTPD daemon. See 'systemctl status proftpd.service' for details. Starting A high performance web server and a reverse proxy server... [FAILED] Failed to start A high performance web server and a reverse proxy server. See 'systemctl status nginx.service' for details. |
mkdir -p /var/log/nginx chown www-data:www-data /var/log/nginx mkdir -p /var/log/proftpd chown proftpd:nogroup /var/log/proftpd |
品名:パソコン LaVie J 型番PC-LJ700RG6B 型名LJ700/RG6B 発表日2008年09月02日 発売日2008年09月04日 インテル(R) Core(TM) 2 Duo プロセッサー 超低電圧版 U7600 (拡張版 Intel SpeedStep(R) テクノロジ搭載) 1.20GHz 2次キャッシュ2MB バスクロック 533MHz モバイル インテル(R) GM965 Express チップセット メインメモリ 2GB (DDR2 SDRAM/On Board 1GB+SO-DIMM 1GB、PC2-4200対応 デュアルチャネル対応) |
Microsoft Edge Google Chrome 8以降 (8は要設定、9から標準で有効) Internet Explorer 11 Mozilla Firefox 4以降 Opera 12以降[3] (12は要設定、15から標準で有効) Safari 5.1以降 (5.1は要設定、8から標準で有効) (Wikipediaより) |
import java.io.*; import javax.sound.midi.*; class MidiPlayer { public static void main(String[] args) { MidiPlayer mp = new MidiPlayer(args[0]); } MidiPlayer(String filename) { try { Sequencer sqr = MidiSystem.getSequencer(); sqr.setLoopCount(0); sqr.open(); FileInputStream fis = new FileInputStream(filename); Sequence sq = MidiSystem.getSequence(fis); fis.close(); sqr.setSequence(sq); double sec = sqr.getMicrosecondLength() / 1000 / 1000; System.out.println("再生時間;" + String.format("%.1f", sec) + "秒"); sqr.start(); while(sqr.isRunning()) { Thread.sleep(1000); } sqr.stop(); } catch(Exception e) { e.printStackTrace(); } System.exit(0); } } |
import javax.sound.sampled.*; import java.io.*; public class SoundPlayer { public static void main(String[] args) { SoundPlayer sp = new SoundPlayer(args[0]); } SoundPlayer(String filename) { try { File file = new File(filename); if(file.exists()) { AudioInputStream stream = AudioSystem.getAudioInputStream(file); byte[] buf = new byte[stream.available()]; stream.read(buf, 0, buf.length); AudioFormat format = stream.getFormat(); long nBytesRead = format.getFrameSize()*stream.getFrameLength(); DataLine.Info info = new DataLine.Info(SourceDataLine.class, format); SourceDataLine line = (SourceDataLine)AudioSystem.getLine(info); double sec = stream.getFrameLength() / format.getFrameRate(); System.out.println("再生時間:" + String.format("%.1f", sec) + "秒"); line.open(format); line.start(); line.write(buf, 0, (int)nBytesRead); line.drain(); line.close(); } else { System.out.println("ファイルが見つかりませんでした。"); } } catch(Exception e) { e.printStackTrace(); } System.exit(0); } } |
import java.io.*; import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.sound.midi.*; class MidiPlayer2 { static JFrame frame; static JButton playButton, stopButton; static JLabel counterLabel; static JProgressBar pBar; static int maxLength; static Sequencer sqr; public static void main(String[] args) { File file = new File("tamji02.mid"); maxLength = -1; if(file.exists()) { try { sqr = MidiSystem.getSequencer(); sqr.setLoopCount(0); sqr.open(); FileInputStream fis = new FileInputStream(file.getName()); Sequence sq = MidiSystem.getSequence(fis); fis.close(); sqr.setSequence(sq); maxLength = (int)sqr.getMicrosecondLength(); MidiPlayer2 mp2 = new MidiPlayer2(); frame.setVisible(true); while(true) { int nowPosition = (int)sqr.getMicrosecondPosition(); counterLabel.setText(nowPosition + "/" + maxLength); pBar.setValue(nowPosition); Thread.sleep(500); playButton.setEnabled(!sqr.isRunning()); stopButton.setEnabled(sqr.isRunning()); if(maxLength == nowPosition) { sqr.setMicrosecondPosition(0); } } } catch(Exception e) { e.printStackTrace(); } } else { System.out.println("ファイルが見つかりませんでした。"); System.exit(1); } } MidiPlayer2() { frame = new JFrame("ClipPlayer2"); playButton = new JButton("再生"); stopButton = new JButton("停止"); stopButton.setEnabled(false); ActionListener al = new ActionListener() { public void actionPerformed(ActionEvent ae) { if(ae.getSource() == playButton) { playButton.setEnabled(false); stopButton.setEnabled(true); sqr.start(); } else { playButton.setEnabled(true); stopButton.setEnabled(false); sqr.stop(); } } }; playButton.addActionListener(al); stopButton.addActionListener(al); counterLabel = new JLabel("0", JLabel.RIGHT); pBar = new JProgressBar(0, maxLength); frame.getContentPane().setLayout(new FlowLayout()); frame.add(playButton); frame.add(stopButton); frame.add(counterLabel); frame.add(pBar); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(350,100); frame.setLocationRelativeTo(null); } } |
import java.io.*; import javax.sound.midi.*; class MidiPlayer { public static void main(String[] args) { MidiPlayer mp = new MidiPlayer(args[0]); } MidiPlayer(String filename) { try { Sequencer sqr = MidiSystem.getSequencer(); sqr.setLoopCount(0); sqr.open(); FileInputStream fis = new FileInputStream(filename); Sequence sq = MidiSystem.getSequence(fis); fis.close(); sqr.setSequence(sq); sqr.start(); while(sqr.isRunning()) { Thread.sleep(1000); } sqr.stop(); } catch(Exception e) { e.printStackTrace(); } System.exit(0); } } |
java MidiPlayer tamji02.mid |
とすると、どうすればいいかというと、再生位置を先頭に戻すには、一度close()してから再度open()するという処理しかなさそうです。さらに任意の位置に移動させるには、skip()を使うという方法しかないようです。 |
import java.io.*; import javax.sound.sampled.*; class AudioPlayer { AudioInputStream stream; AudioFormat format; DataLine.Info info; SourceDataLine line; byte[] buf; long nBytesRead; boolean playFlag, pauseFlag; Thread playThread; String filename; private AudioPlayer() { } AudioPlayer(String fn) { load(fn); } public void load(String fn) { filename = fn; load(); } public void load() { playFlag = false; pauseFlag = false; try { stream = AudioSystem.getAudioInputStream(getClass().getResource(filename)); format = stream.getFormat(); info = new DataLine.Info(SourceDataLine.class, format); line = (SourceDataLine)AudioSystem.getLine(info); line.open(format); //buf = new byte[line.getBufferSize()]; //大きい数値が入ると停止までに時間がかかる buf = new byte[128]; } catch(Exception e) { e.printStackTrace(); } } private void makePlayThread() { playThread = new Thread() { public void run() { try { int readBytes = 0; while(playFlag && readBytes != -1) { if(pauseFlag) { Thread.sleep(100); } else { readBytes = stream.read(buf, 0, buf.length); if(readBytes >= 0) { line.write(buf, 0, readBytes); } } } load(); //line.drain(); } catch(Exception e) { e.printStackTrace(); } } }; } public void play() { playFlag = true; resetFlag = false; if(line != null) { if(pauseFlag) { pauseFlag = false; } else { makePlayThread(); line.start(); playThread.start(); } } else { System.out.println("再生するデータがありません。"); } } public void pause() { pauseFlag = true; if(line.getLongFramePosition() == stream.getFrameLength()) { try { line.close(); stream.close(); } catch(Exception e) { e.printStackTrace(); } load(); } } public long getLength() { if(line != null) { return stream.getFrameLength(); } else { return 0; } } public long getPosition() { if(line != null) { return line.getLongFramePosition(); } else { return 0; } } } |
import java.io.*; import java.awt.*; import java.awt.event.*; import javax.swing.*; class AudioPlayerTest { JButton playButton, stopButton; JLabel counterLabel; JProgressBar pBar; AudioPlayer ap; public static void main(String[] args) { AudioPlayerTest apt = new AudioPlayerTest(); } AudioPlayerTest() { ap = new AudioPlayer("sa00101.wav"); playButton = new JButton("再生"); stopButton = new JButton("停止"); stopButton.setEnabled(false); ActionListener al = new ActionListener() { public void actionPerformed(ActionEvent ae) { playButton.setEnabled(!(playButton.isEnabled())); stopButton.setEnabled(!(stopButton.isEnabled())); if(ae.getSource() == playButton) { ap.play(); } else { ap.pause(); } } }; playButton.addActionListener(al); stopButton.addActionListener(al); counterLabel = new JLabel("0", JLabel.RIGHT); pBar = new JProgressBar(0, (int)ap.getLength()); JFrame frame = new JFrame(this.getClass().getSimpleName()); frame.getContentPane().setLayout(new FlowLayout()); frame.add(playButton); frame.add(stopButton); frame.add(counterLabel); frame.add(pBar); frame.setSize(350, 100); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLocationRelativeTo(null); frame.setVisible(true); long frameLength = ap.getLength(); while(true) { if(ap.getPosition() == 0) { playButton.setEnabled(true); stopButton.setEnabled(false); } counterLabel.setText(ap.getPosition() + "/" + frameLength); pBar.setValue((int)ap.getPosition()); try { Thread.sleep(200); } catch(Exception e ) { e.printStackTrace(); } } } } |
javac *.java java AudioPlayerTest |
Main-Class: AudioPlayerTest |
jar cvfm AudioPlayerTest.jar mf.txt *.class jar uvf AudioPlayerTest.jar sa00101.wav java -jar AudioPlayerTest.jar |
import java.io.*; import javax.sound.sampled.*; class ClipPlayer { private Clip clip; public ClipPlayer(String filename) { try { AudioInputStream stream = AudioSystem.getAudioInputStream(getClass().getResource(filename)); AudioFormat format = stream.getFormat(); DataLine.Info info = new DataLine.Info(Clip.class, format); clip = (Clip)AudioSystem.getLine(info); clip.open(stream); stream.close(); } catch(Exception e) { e.printStackTrace(); } } public void play() { if(clip != null) { if(getPosition() % (getLength() - 1) == 0) { clip.stop(); clip.setFramePosition(0); } new Thread() { public void run() { clip.start(); } }.start(); } else { System.out.println("再生できるデータがありません。"); } } public void pause() { if(clip != null) { clip.stop(); } } public int getLength() { if(clip != null) { return clip.getFrameLength(); } else { return 0; } } public long getPosition() { if(clip != null) { return clip.getLongFramePosition(); } else { return 0; } } } |
import java.io.*; import java.awt.*; import java.awt.event.*; import javax.swing.*; class ClipPlayerTest { static JFrame frame; static JButton playButton, stopButton; static JLabel counterLabel; static JProgressBar pBar; static ClipPlayer cp; public static void main(String[] args) { cp = new ClipPlayer("sa00101.wav"); ClipPlayerTest cpt = new ClipPlayerTest(); frame.setVisible(true); int positionInt = 0; int maxLength = cp.getLength() - 1; while(true) { positionInt = (int)cp.getPosition(); counterLabel.setText(positionInt + "/" + maxLength); pBar.setValue((int)positionInt % (maxLength)); if(positionInt % (cp.getLength() - 1) == 0) { playButton.setEnabled(true); stopButton.setEnabled(false); } try { Thread.sleep(500); } catch(Exception e) { e.printStackTrace(); } } } ClipPlayerTest() { frame = new JFrame(getClass().getSimpleName()); playButton = new JButton("再生"); stopButton = new JButton("停止"); stopButton.setEnabled(false); ActionListener al = new ActionListener() { public void actionPerformed(ActionEvent ae) { playButton.setEnabled(!playButton.isEnabled()); stopButton.setEnabled(!stopButton.isEnabled()); if(ae.getSource() == playButton) { cp.play(); } else { cp.pause(); } } }; playButton.addActionListener(al); stopButton.addActionListener(al); counterLabel = new JLabel("0", JLabel.RIGHT); pBar = new JProgressBar(0, cp.getLength()); frame.getContentPane().setLayout(new FlowLayout()); frame.add(playButton); frame.add(stopButton); frame.add(counterLabel); frame.add(pBar); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(350,100); frame.setLocationRelativeTo(null); } } |
javac *.java java ClipPlayerTest |
Main-Class: ClipPlayerTest |
jar cvfm ClipPlayerTest.jar mf.txt *.class jar uvf ClipPlayerTest.jar sa00101.wav java -jar ClipPlayerTest.jar |
byte[] buf = new byte[stream.available()]; stream.read(buf); clip.open(format, buf, 0, buf.length); |
import java.io.*; import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.sound.sampled.*; class ClipPlayer2 { static Clip clip; static JFrame frame; static JButton playButton, stopButton; static JLabel counterLabel; static JProgressBar pBar; static int playCount, maxLength; public static void main(String[] args) { File file = new File("sa00101.wav"); if(file.exists()) { try { AudioInputStream stream = AudioSystem.getAudioInputStream(file); AudioFormat format = stream.getFormat(); DataLine.Info info = new DataLine.Info(Clip.class, format); clip = (Clip)AudioSystem.getLine(info); clip.open(stream); maxLength = clip.getFrameLength() - 1; clip.addLineListener(new LineListener() { public void update(LineEvent le) { if(le.getType() == LineEvent.Type.STOP) { if(maxLength * playCount == clip.getLongFramePosition()) { playButton.setEnabled(true); stopButton.setEnabled(false); } } } }); stream.close(); ClipPlayer2 cp2 = new ClipPlayer2(); frame.setVisible(true); while(true) { counterLabel.setText(clip.getLongFramePosition() + "/" + maxLength); pBar.setValue((int)clip.getLongFramePosition() % (maxLength + 1)); try { Thread.sleep(500); } catch(Exception e) { e.printStackTrace(); } } } catch(Exception e) { e.printStackTrace(); } } else { System.out.println("ファイルが見つかりませんでした。"); System.exit(1); } } ClipPlayer2() { frame = new JFrame("ClipPlayer2"); playCount = 1; playButton = new JButton("再生"); stopButton = new JButton("停止"); stopButton.setEnabled(false); ActionListener al = new ActionListener() { public void actionPerformed(ActionEvent ae) { if(ae.getSource() == playButton) { playButton.setEnabled(false); stopButton.setEnabled(true); if((long)(clip.getFrameLength() - 1) * playCount == clip.getLongFramePosition()) { clip.stop(); clip.setFramePosition(0); playCount++; } play(); } else { playButton.setEnabled(true); stopButton.setEnabled(false); clip.stop(); } } }; playButton.addActionListener(al); stopButton.addActionListener(al); counterLabel = new JLabel("0", JLabel.RIGHT); pBar = new JProgressBar(0, maxLength); frame.getContentPane().setLayout(new FlowLayout()); frame.add(playButton); frame.add(stopButton); frame.add(counterLabel); frame.add(pBar); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(350,100); frame.setLocationRelativeTo(null); } public void play() { new Thread() { public void run() { clip.start(); } }.start(); } } |
sudo add-apt-repository ppa:webupd8team/java sudo apt-get update sudo apt-get install oracle-java8-installer |
sudo apt-get install alsa-oss pulseaudio |
pcm.!default { type plug slave.pcm "dmixer" } #pcm.!plughw { # type plug # slave.pcm "dmixer" #} #pcm.dsp { # type plug # slave.pcm "dmixer" #} #pcm.dsp0 { # type plug # slave.pcm "dmixer" #} ctl.mixer0 { type hw card 0 } pcm.dmixer { type dmix ipc_key 1024 slave { pcm "hw:0,0" period_time 0 buffer_time 0 period_size 1024 buffer_size 8192 format S32_LE channels 2 rate 44100 } bindings { 0 0 1 1 } } ctl.dmixer { type hw card 0 } |
import javax.sound.sampled.*; import java.io.*; public class SoundPlayer { public static void main(String[] args) { try { File file = new File("alarm.wav"); if(file.exists()) { AudioInputStream stream = AudioSystem.getAudioInputStream(file); byte[] buf = new byte[stream.available()]; stream.read(buf, 0, buf.length); AudioFormat format = stream.getFormat(); long nBytesRead = format.getFrameSize()*stream.getFrameLength(); DataLine.Info info = new DataLine.Info(SourceDataLine.class, format); SourceDataLine line = (SourceDataLine)AudioSystem.getLine(info); line.open(format); line.start(); line.write(buf, 0, (int)nBytesRead); line.drain(); line.close(); } else { System.out.println("ファイルが見つかりませんでした。"); } } catch(Exception e) { e.printStackTrace(); } System.exit(0); } } |
※後日追記
pulseaudioは必須なようだ。OSインストール時に「インストール中にアップデートをダウンロードする」と「サードパーティーのソフトウェアをインストールする」にチェックをつけると自動的に入るのかも…とも思ったが、チェックを付けてもダメなことも判明。おそらく何かべつのアプリケーションソフトウェアをインストールした際に依存で入ったのだろう…。
import java.io.*; import javax.sound.sampled.*; class ClipPlayer { public static void main(String[] args) { try { File file = new File("alarm.wav"); if(file.exists()) { AudioInputStream stream = AudioSystem.getAudioInputStream(file); AudioFormat format = stream.getFormat(); DataLine.Info info = new DataLine.Info(Clip.class, format); Clip clip = (Clip)AudioSystem.getLine(info); clip.open(stream); clip.start(); clip.drain(); clip.stop(); clip.close(); stream.close(); } else { System.out.println("ファイルが見つかりませんでした。"); } } catch(Exception e) { e.printStackTrace(); } System.exit(0); } } |
sudo apt-get install gimp inkscape audacity |
sudo apt-get install wine |
<!DOCTYPE html> <HTML lang="ja"> <HEAD><TITLE>カウントダウンタイマー</TITLE></HEAD> <BODY> <CENTER> <H1>カウントダウンタイマー</H1> <AUDIO id="finish"> <SOURCE src="finish.ogg" type="audio/ogg"> <SOURCE src="finish.m4a" type="audio/mpeg"> </AUDIO> <FORM id="countdownform" name="countdownform"> <SCRIPT> var cdid; var audio = document.getElementById("finish"); var idnames = ["hourselect","minselect","secselect"]; var nums = [24,60,60]; for(var i = 0; i < idnames.length; i++) { document.write("<SELECT id=¥"" + idnames[i] + "¥" name=¥"" + idnames[i] + "¥">"); for(var j = 0; j < nums[i]; j++) { document.write("<OPTION value = " + j + ">" + setDigit(j, 2) + "</OPTION>"); } document.write("</SELECT>"); if(i < 2) { document.write(":"); } else { document.write("."); } } document.write("<INPUT id=¥"msectext¥" name=¥"msectext¥" type=¥"text¥" value=¥"000¥" size=¥"3¥" style=¥"text-align: center¥" disabled>"); document.write("<BR><BR>"); document.write("<INPUT id=¥"cdbutton¥" name=¥"cdbutton¥" type=¥"button¥" value=¥"スタート¥" onClick=¥"countdown()¥">"); var button = document.getElementById("cdbutton"); button.addEventListener("click",function() { audio.load(); }, false); function countdown() { if(document.countdownform.cdbutton.value == "スタート") { document.countdownform.cdbutton.value = "ストップ"; var hValue = document.countdownform.hourselect.value * 60 * 60; var mValue = document.countdownform.minselect.value * 60; var sValue = document.countdownform.secselect.value * 1; var endTime = Date.now() + (hValue + mValue + sValue) * 1000; cdid = setInterval(function() { var diff = endTime - Date.now(); var remainTime = getTimes(diff); for(var i = 0; i < idnames.length; i++) { var pulldown = document.getElementById(idnames[i]).getElementsByTagName("OPTION"); for(var j = 0; j < pulldown.length; j++) { if(j == remainTime[i]) { pulldown[j].selected = true; } } } document.countdownform.msectext.value = setDigit(diff % 1000, 3); if(diff <= 0) { document.countdownform.msectext.value = "000"; audio.play(); document.countdownform.cdbutton.value = "スタート"; clearInterval(cdid); } }, 10); } else { document.countdownform.cdbutton.value = "スタート"; clearInterval(cdid); } } function setDigit(value, digits) { res = value; var times = digits - value.toString().length; if(times > 0) { for(var i = 0; i < times; i++) { res = "0" + res; } } return res; } function getTimes(msTime) { var msec = msTime % 1000; msTime = (msTime - msec) / 1000; var sec = msTime % 60; msTime = (msTime - sec) / 60; var min = msTime % 60; var hour = (msTime - min) / 60; return [hour, min, sec, msec]; } </SCRIPT> </FORM> </CENTER> </BODY> </HTML> |
<!DOCTYPE html> <HTML lang="ja"> <HEAD><TITLE>ストップウォッチ</TITLE></HEAD> <BODY> <CENTER> <H1>ストップウォッチ</H1> <FORM name="stopwatch"> <INPUT type="text" size="20" name="display" value="00:00:00.000" style="text-align: center"><BR><BR> <INPUT type="button" name="startstopbutton" value="スタート" onClick="swStartStop()"> <INPUT type="button" name="resetbutton" value="リセット" onClick="swReset()" disabled> </FORM> <SCRIPT> var swid; //スタート・ストップボタンをクリックした時 function swStartStop() { var buttonname = document.stopwatch.startstopbutton.value; if(buttonname == "スタート") { // ボタン表示が「スタート」の時 } else {document.stopwatch.startstopbutton.value = "ストップ"; document.stopwatch.resetbutton.disabled = true; var nowValue = document.stopwatch.display.value; var hms = nowValue.split(":"); var secmsec = hms[2].split("."); var prevTime = (hms[0] * 60 * 60 + hms[1] * 60 + secmsec[0] * 1) * 1000 + secmsec[1] * 1; var startTime = Date.now(); swid = setInterval(function() { var nowTime = Date.now(); displayTime(nowTime - startTime + prevTime); }, 10); // ボタン表示が「ストップ」の時 }document.stopwatch.startstopbutton.value = "スタート"; document.stopwatch.resetbutton.disabled = false; clearInterval(swid); } // リセットボタンをクリックした時 function swReset() { document.stopwatch.resetbutton.disabled = true; displayTime(0); } // 数値を指定桁数に変更 例)setDigit(21, 4) => 「0021」を返す function setDigit(value, digits) { res = value; var times = digits - value.toString().length; if(times > 0) { for(var i = 0; i < times; i++) { res = "0" + res; } } return res; } // ミリ秒 を受け取り 時:分:秒.ミリ秒 の形で表示 function displayTime(msTime) { var msec = msTime % 1000; msTime = (msTime - msec) / 1000; var sec = msTime % 60; msTime = (msTime - sec) / 60; var min = msTime % 60; var hour = (msTime - min) / 60; document.stopwatch.display.value = setDigit(hour, 2) + ":" + setDigit(min, 2) + ":" + setDigit(sec, 2) + "." + setDigit(msec, 3); } </SCRIPT> </CENTER> </BODY> </HTML> |
ストップウォッチ |
<!DOCTYPE html> <HTML lang="ja"> <HEAD><TITLE>ストップウォッチ</TITLE></HEAD> <BODY> <CENTER> <H1>ストップウォッチ</H1> <FORM name="stopwatch"> <INPUT type="text" size="20" name="display" value="00:00:00.000" style="text-align: center"><BR><BR> <INPUT type="button" name="startbutton" value="スタート" onClick="swStart()"> <INPUT type="button" name="stopbutton" value="ストップ" onClick="swStop()" disabled> <INPUT type="button" name="resetbutton" value="リセット" onClick="swReset()" disabled> </FORM> <SCRIPT> var swid; // スタートボタンをクリックした時 function swStart() { document.stopwatch.startbutton.disabled = true; document.stopwatch.stopbutton.disabled = false; document.stopwatch.resetbutton.disabled = true; var nowValue = document.stopwatch.display.value; var hms = nowValue.split(":"); var secmsec = hms[2].split("."); var prevTime = (hms[0] * 60 * 60 + hms[1] * 60 + secmsec[0] * 1) * 1000 + secmsec[1] * 1; var startTime = Date.now(); swid = setInterval(function() { var nowTime = Date.now(); displayTime(nowTime - startTime + prevTime); }, 10); } // ストップボタンをクリックした時 function swStop() { document.stopwatch.startbutton.disabled = false; document.stopwatch.stopbutton.disabled = true; document.stopwatch.resetbutton.disabled = false; clearInterval(swid); } // リセットボタンをクリックした時 function swReset() { document.stopwatch.resetbutton.disabled = true; displayTime(0); } // 数値を指定桁数に変更 例)setDigit(21, 4) => 「0021」を返す function setDigit(value, digits) { res = value; var times = digits - value.toString().length; if(times > 0) { for(var i = 0; i < times; i++) { res = "0" + res; } } return res; } // ミリ秒 を受け取り 時:分:秒.ミリ秒 の形で表示 function displayTime(msTime) { var msec = msTime % 1000; msTime = (msTime - msec) / 1000; var sec = msTime % 60; msTime = (msTime - sec) / 60; var min = msTime % 60; var hour = (msTime - min) / 60; document.stopwatch.display.value = setDigit(hour, 2) + ":" + setDigit(min, 2) + ":" + setDigit(sec, 2) + "." + setDigit(msec, 3); } </SCRIPT> </CENTER> </BODY> </HTML> |
ストップウォッチ |
var nowValue = document.stopwatch.display.value; var hms = nowValue.split(":"); var secmsec = hms[2].split("."); |
var prevTime = (hms[0] * 60 * 60 + hms[1] * 60 + secmsec[0] * 1) * 1000 + secmsec[1] * 1; |
<!DOCTYPE html> <HTML lang="ja"> <HEAD><TITLE>色見本</TITLE></HEAD> <BODY> <CENTER> <H1>色見本</H1> 下のカラーパレットをクリックしてそれぞれの色を選んでください。<BR><BR> <FORM id="colorform" name="colorform"> <TABLE border="0" style="text-align: left; background-color: white; color: black"><TR><TD> <INPUT type="radio" id="backR" name="colorselect" checked>背景色 </TD><TD> <INPUT type="text" id="backC" name="backC" size="12" style="text-align: center"> </TD><TD width="30"></TD><TD> <INPUT type="radio" id="textR" name="colorselect">文字色 </TD><TD> <INPUT type="text" id="textC" name="textC" size="12" style="text-align: center"> </TD></TR> <TR><TD> <INPUT type="radio" id="fbackR" name="colorselect">枠内背景色 </TD><TD> <INPUT type="text" id="fbackC" name="fbackC" size="12" style="text-align: center"> </TD><TD></TD><TD> <INPUT type="radio" id="ftextR" name="colorselect">枠内文字色 </TD><TD> <INPUT type="text" id="ftextC" name="ftextC" size="12" style="text-align: center"> </TD></TR></TABLE> <BR> <INPUT type="text" id="text" name="text" value="背景色や文字色が変わります。" style="text-align: center; font-size: 30px" size="50"> </FORM> <BR><BR> <SCRIPT> var colnum = 9; var colorname = ["White", "Silver", "Gray", "Black", "Red", "Maroon", "Yellow", "Olive", "Lime", "Green", "Aqua", "Teal", "Blue", "Navy", "Fuchsia", "Purple", "Orange"]; var r = ["00","33","66","99","CC","FF"]; var g = ["00","33","66","99","CC","FF"]; var b = ["00","33","66","99","CC","FF"]; document.write("<TABLE border=¥"0¥" cellspacing=¥"1¥" cellpadding=¥"5¥" style=¥"background-color: black¥">"); // COLOR NAME document.write("<TR><TH rowspan=¥"" + Math.ceil(colorname.length / colnum) + "¥" style=¥"background-color: lime; color: black¥">Color<BR>Name</TH>"); for(var i = 0; i < Math.ceil(colorname.length / colnum); i++) { if(i > 0) { document.write("</TR><TR>"); } for(var j = 0; j < colnum; j++) { var index = colnum * i + j; document.write("<TD colspan=¥"" + r.length + "¥" style=¥"background-color: "); if(index < colorname.length) { document.write(colorname[index] + "; color: "); if(colorname[index] == "Gray" || colorname[index] == "Black" || colorname[index] == "Maroon" || colorname[index] == "Olive" || colorname[index] == "Green" || colorname[index] == "Teal" || colorname[index] == "Blue" || colorname[index] == "Navy" || colorname[index] == "Purple") { document.write("white"); } else { document.write("black"); } document.write("¥" id=¥"" + colorname[index] + "¥" onClick=¥"setColor(this)¥">"); document.write(colorname[index]); } else { document.write("white¥">--------"); } document.write("</TD>"); } } // SAFE COLOR var counter = 0; document.write("<TR><TH rowspan=¥"" + colnum + "¥" width=¥"60¥" style=¥"background-color: fuchsia; color: black¥">Safe<BR>Color</TH>"); for(var i = 0; i < r.length; i++) { for(var j = 0; j < g.length; j++) { if(counter % colnum == 0) { if(counter > 0) { document.write("</TR>"); } document.write("<TR>"); } counter++; for(var k = 0; k < b.length; k++) { var rgb = "#" + r[i] + g[j] + b[k]; document.write("<TD style=¥"background-color: " + rgb + "¥" width=¥"5¥" height=¥"5¥" id=¥"" + rgb + "¥" onClick=¥"setColor(this)¥">"); document.write("</TD>"); } } } document.write("</TABLE>"); function setColor(o) { if(document.getElementById("backR").checked) { document.bgColor = o.id; document.colorform.backC.value = o.id; } else if(document.getElementById("textR").checked) { document.fgColor = o.id; document.colorform.textC.value = o.id; } else if(document.getElementById("fbackR").checked) { document.colorform.text.style.backgroundColor = o.id; document.colorform.fbackC.value = o.id; } else { document.colorform.text.style.color = o.id; document.colorform.ftextC.value = o.id; } } </SCRIPT> </CENTER> </BODY> </HTML> |
<!DOCTYPE html> <HTML lang="ja"> <HEAD><TITLE>HTML Color</TITLE></HEAD> <BODY> <CENTER> <H1>HTML Color</H1> <SCRIPT> var colnum = 6; var colorname = ["White" , "Silver" , "Gray" , "Black" , "Red" , "Maroon" , "Yellow" , "Olive" , "Lime" , "Green" , "Aqua" , "Teal" , "Blue" , "Navy" , "Fuchsia" , "Purple" , "Orange"]; var r = ["00","33","66","99","CC","FF"]; var g = ["00","33","66","99","CC","FF"]; var b = ["00","33","66","99","CC","FF"]; document.write("<TABLE border=¥"0¥" cellspacing=¥"1¥" cellpadding=¥"5¥" style=¥"background-color: black¥">"); document.write("<TR><TH style=¥"background-color: white¥"></TH>"); document.write("<TH style=¥"background-color: yellow¥" colspan=¥"6¥"><H2>Background Color</H2></TH>"); document.write("<TH style=¥"background-color: aqua¥" colspan=¥"6¥"><H2>Text Color</H2></TH></TR>"); // COLOR NAME document.write("<TR><TH rowspan=¥"" + Math.ceil(colorname.length / colnum) + "¥" style=¥"background-color: lime¥">Color<BR><BR>Name</TH>"); for(var i = 0; i < Math.ceil(colorname.length / colnum); i++) { if(i > 0) { document.write("</TR><TR>"); } ////////// background color for(var j = 0; j < colnum; j++) { var index = colnum * i + j; if(index < colorname.length) { document.write("<TD style=¥"background-color: " + colorname[index]); if(colorname[index] == "Gray" || colorname[index] == "Black" || colorname[index] == "Maroon" || colorname[index] == "Olive" || colorname[index] == "Green" || colorname[index] == "Teal" || colorname[index] == "Blue" || colorname[index] == "Navy" || colorname[index] == "Purple") { document.write("; color: white"); } document.write("¥">" + colorname[index] + "</TD>"); } else { document.write("<TD style=¥"background-color: white¥">-------</TD>"); } } ////////// text color for(var j = 0; j < colnum; j++) { var index = colnum * i + j; if(index < colorname.length) { document.write("<TD style=¥"background-color: "); if(colorname[index] == "White") { document.write("black"); } else { document.write("white"); } document.write("; color : " + colorname[index] + "¥">" + colorname[index] + "</TD>"); } else { document.write("<TD style=¥"background-color: white¥">-------</TD></TR>"); } } } // SAFE COLOR document.write("<TR><TH rowspan=¥"" + Math.ceil(r.length * g.length * b.length / colnum) + "¥" width=¥"60¥" style=¥"background-color: fuchsia¥">Safe<BR><BR>Color</TH>"); for(var i = 0; i < r.length; i++) { for(var j = 0; j < g.length; j++) { if(i > 0 || j > 0) { document.write("<TR>"); } ////////// background color for(var k = 0; k < b.length; k++) { var rgb = "#" + r[i] + g[j] + b[k]; document.write("<TD style=¥"background-color: " + rgb); if(i < 4 && j < 4) { document.write("; color: white"); } document.write("¥">" + rgb + "</TD>"); } ///////// text color for(var k = 0; k < b.length; k++) { var rgb = "#" + r[i] + g[j] + b[k]; document.write("<TD style=¥"background-color: "); if(rgb == "#FFFFFF") { document.write("black"); } else { document.write("white"); } document.write("; color: " + rgb + "¥">" + rgb + "</TD>"); } document.write("</TR>"); } } document.write("</TABLE>"); </SCRIPT> </CENTER> </BODY> </HTML> |
<!DOCTYPE html> <HTML lang="ja"> <HEAD><TITLE>練習</TITLE></HEAD> <BODY> 音楽再生<BR> <AUDIO id="music1"> <SOURCE src="sample1.ogg" type="audio/ogg"> <SOURCE src="sample1.m4a" type="audio/mpeg"> </AUDIO> <AUDIO id="music2"> <SOURCE src="sample2.ogg" type="audio/ogg"> <SOURCE src="sample2.m4a" type="audio/mpeg"> </AUDIO> <AUDIO id="music3"> <SOURCE src="sample3.ogg" type="audio/ogg"> <SOURCE src="sample3.m4a" type="audio/mpeg"> </AUDIO> <FORM name="musicform"> <INPUT id="playbutton" name="playbutton" type="button" value="再生" onClick="play()"> <INPUT id="stopbutton" name="stopbutton" type="button" value="停止" onClick="stop()" disabled><BR> <INPUT name="timetext" type="text" value="" size="10" style="text-align: center"> </FORM> <SCRIPT> var repeatTimer; var audio1 = document.getElementById("music1"); var audio2 = document.getElementById("music2"); var audio3 = document.getElementById("music3"); var playlist = [audio1, audio2, audio3]; var count = 0; var flag = 0; var button = document.getElementById("playbutton"); button.addEventListener("click",function() { for(var i = 0; i < playlist.length; i++) { if(i == 0) { playmusic(); } else { playlist[i].load(); } } }, false); setInterval("displayTime()", 100); function playmusic() { if(flag == 0) { flag = 1; playlist[count].play(); playlist[count].addEventListener("ended", function() { flag = 0; }, false); count++; if(count == playlist.length) { count = 0; } } } function play() { document.musicform.playbutton.disabled = true; document.musicform.stopbutton.disabled = false; repeatTimer = setInterval(function() { playmusic(); }, 100); } function stop() { document.musicform.playbutton.disabled = false; document.musicform.stopbutton.disabled = true; clearInterval(repeatTimer); count = 0; for(i = 0; i < playlist.length; i++) { playlist[i].pause(); playlist[i].currentTime = 0; } flag = 0; } function displayTime() { var nowTime = new Date(); document.musicform.timetext.value = setTwoDigit(nowTime.getHours()) + ":" + setTwoDigit(nowTime.getMinutes()) + ":" + setTwoDigit(nowTime.getSeconds()); } function setTwoDigit(num) { var res = num; if(res < 10) { res = "0" + res; } return res; } </SCRIPT> </BODY> </HTML> |
音楽再生 |
ここで必要なオーディオファイルを全部ロードしてしまうと良さそうです。そうすれば後は好きなタイミングで音声を再生できます。 |
<!DOCTYPE html> <HTML lang="ja"> <HEAD><TITLE>練習</TITLE></HEAD> <BODY> 音楽再生<BR> <AUDIO id="music1"> <SOURCE src="sample1.ogg" type="audio/ogg"> <SOURCE src="sample1.m4a" type="audio/mpeg"> </AUDIO> <AUDIO id="music2"> <SOURCE src="sample2.ogg" type="audio/ogg"> <SOURCE src="sample2.m4a" type="audio/mpeg"> </AUDIO> <AUDIO id="music3"> <SOURCE src="sample3.ogg" type="audio/ogg"> <SOURCE src="sample3.m4a" type="audio/mpeg"> </AUDIO> <FORM name="musicform"> <INPUT id="playbutton" name="playbutton" type="button" value="再生" onClick="play()"> <INPUT id="stopbutton" name="stopbutton" type="button" value="停止" onClick="stop()" disabled><BR> <INPUT name="timetext" type="text" value="" size="10" style="text-align: center"> </FORM> <SCRIPT> var repeatTimer; var audio1 = document.getElementById("music1"); var audio2 = document.getElementById("music2"); var audio3 = document.getElementById("music3"); var playlist = [audio1, audio2, audio3]; var count = 0; var button = document.getElementById("playbutton"); button.addEventListener("click",function() { for(var i = 0; i < playlist.length; i++) { if(i == 0) { playlist[i].play(); } else { playlist[i].load(); } } }, false); setInterval("displayTime()", 100); function play() { document.musicform.playbutton.disabled = true; document.musicform.stopbutton.disabled = false; repeatTimer = setInterval(function() { count++; if(count == playlist.length) { count = 0; } playlist[count].play(); }, 10000); } function stop() { document.musicform.playbutton.disabled = false; document.musicform.stopbutton.disabled = true; clearInterval(repeatTimer); count = 0; for(i = 0; i < playlist.length; i++) { playlist[i].pause(); playlist[i].currentTime = 0; } } function displayTime() { var nowTime = new Date(); document.musicform.timetext.value = setTwoDigit(nowTime.getHours()) + ":" + setTwoDigit(nowTime.getMinutes()) + ":" + setTwoDigit(nowTime.getSeconds()); } function setTwoDigit(num) { var res = num; if(res < 10) { res = "0" + res; } return res; } </SCRIPT> </BODY> </HTML> |
音楽再生 |
<!DOCTYPE html> <HTML lang="ja"> <HEAD><TITLE>練習</TITLE></HEAD> <BODY> 音楽再生<BR> <AUDIO id="music"> <SOURCE src="sample.ogg" type="audio/ogg"> <SOURCE src="sample.m4a" type="audio/mpeg"> </AUDIO> <FORM id="musicform"> <INPUT id="playbutton" type="button" value="再生"> </FORM> <SCRIPT> var audio = document.getElementById("music"); var button = document.getElementById("playbutton"); button.addEventListener("click",function() { audio.load(); setInterval(function() { audio.play(); },10000); }, false); </SCRIPT> </BODY> </HTML> |
<!DOCTYPE html> <HTML lang="ja"> <HEAD><TITLE>練習</TITLE></HEAD> <BODY> 音楽再生<BR> <AUDIO id="music"> <SOURCE src="sample.ogg" type="audio/ogg"> <SOURCE src="sample.m4a" type="audio/mpeg"> </AUDIO> <FORM name="musicform"> <INPUT id="playbutton" type="button" value="再生" onClick="play()"> <INPUT id="stopbutton" type="button" value="停止" onClick="stop()"><BR> <INPUT name="timetext" type="text" value="" size="10" style="text-align: center"> </FORM> <SCRIPT> var repeatTimer; var audio = document.getElementById("music"); var button = document.getElementById("playbutton"); button.addEventListener("click",function() { audio.load(); }, false); setInterval("displayTime()", 100); function play() { audio.play(); repeatTimer = setInterval(function() { audio.play(); }, 10000); } function stop() { clearInterval(repeatTimer); } function displayTime() { var nowTime = new Date(); document.musicform.timetext.value = setTwoDigit(nowTime.getHours()) + ":" + setTwoDigit(nowTime.getMinutes()) + ":" + setTwoDigit(nowTime.getSeconds()); } function setTwoDigit(num) { var res = num; if(res < 10) { res = "0" + res; } return res; } </SCRIPT> </BODY> </HTML> |
<!DOCTYPE html> <HTML lang="ja"> <HEAD><TITLE>練習</TITLE></HEAD> <BODY> 音楽再生<BR> <AUDIO id="music"> <SOURCE src="sample.ogg" type="audio/ogg"> <SOURCE src="sample.m4a" type="audio/mpeg"> </AUDIO> <FORM name="musicform"> <INPUT id="playbutton" name="playbutton" type="button" value="再生" onClick="play()"> <INPUT id="stopbutton" name="stopbutton" type="button" value="停止" onClick="stop()" disabled><BR> <INPUT name="timetext" type="text" value="" size="10" style="text-align: center"> </FORM> <SCRIPT> var repeatTimer; var audio = document.getElementById("music"); var button = document.getElementById("playbutton"); button.addEventListener("click",function() { audio.play(); }, false); setInterval("displayTime()", 100); function play() { document.musicform.playbutton.disabled = true; document.musicform.stopbutton.disabled = false; repeatTimer = setInterval(function() { audio.play(); }, 10000); } function stop() { document.musicform.playbutton.disabled = false; document.musicform.stopbutton.disabled = true; clearInterval(repeatTimer); } function displayTime() { var nowTime = new Date(); document.musicform.timetext.value = setTwoDigit(nowTime.getHours()) + ":" + setTwoDigit(nowTime.getMinutes()) + ":" + setTwoDigit(nowTime.getSeconds()); } function setTwoDigit(num) { var res = num; if(res < 10) { res = "0" + res; } return res; } </SCRIPT> </BODY> </HTML> |
音楽再生 |
<!DOCTYPE html> <HTML lang="ja"> <HEAD><TITLE>練習</TITLE></HEAD> <BODY> 音楽再生<BR> <AUDIO id="music"> <SOURCE src="sample.ogg" type="audio/ogg"> <SOURCE src="sample.m4a" type="audio/mpeg"> </AUDIO> <FORM name="musicform"> <INPUT id="playbutton" name="playbutton" type="button" value="再生" onClick="play()"> <INPUT id="stopbutton" name="stopbutton" type="button" value="停止" onClick="stop()" disabled><BR> <INPUT name="timetext" type="text" value="" size="10" style="text-align: center"> </FORM> <SCRIPT> var repeatTimer; var audio = document.getElementById("music"); var button = document.getElementById("playbutton"); button.addEventListener("click",function() { audio.play(); }, false); setInterval("displayTime()", 100); function play() { document.musicform.playbutton.disabled = true; document.musicform.stopbutton.disabled = false; repeatTimer = setInterval(function() { audio.play(); }, 10000); } function stop() { document.musicform.playbutton.disabled = false; document.musicform.stopbutton.disabled = true; clearInterval(repeatTimer); audio.pause(); audio.currentTime = 0; } function displayTime() { var nowTime = new Date(); document.musicform.timetext.value = setTwoDigit(nowTime.getHours()) + ":" + setTwoDigit(nowTime.getMinutes()) + ":" + setTwoDigit(nowTime.getSeconds()); } function setTwoDigit(num) { var res = num; if(res < 10) { res = "0" + res; } return res; } </SCRIPT> </BODY> </HTML> |
音楽再生 |
ブラウザ名 | WAVE PCM [.wav] | Ogg Vorbis [.ogg] | MP3 [.mp3] | AAC [.m4a] |
---|---|---|---|---|
Chrome | × | ○ | ○※ | ○※ |
Firefox | ○ | ○ | △ | △ |
Internet Explorer | × | × | ○ | ○ |
Opera | × | ○ | × | × |
Safari | ○ | △ | ○ | ○ |
<!DOCTYPE html> <HTML lang="ja"> <HEAD><TITLE>練習</TITLE></HEAD> <BODY> 音楽再生<BR> <AUDIO id="music"> <SOURCE src="sample.ogg" type="audio/ogg"> <SOURCE src="sample.m4a" type="audio/mpeg"> </AUDIO> <SCRIPT> var audio = document.getElementById("music"); audio.load(); audio.play(); </SCRIPT> </BODY> </HTML> |
自動再生 モバイル版 Safari では、オーディオ・ファイルをページのロード時に自動再生することはできません。オーディオ・ファイルをロードできるのは、ユーザーによるタッチ (クリック) イベントによってのみです。以下のように HTML マークアップ内で autoplay 属性を指定しても、モバイル版 Safari はこの属性を無視し、ページのロード時にファイルを再生しません。
|
<!DOCTYPE html> <HTML lang="ja"> <HEAD><TITLE>練習</TITLE></HEAD> <BODY> 音楽再生<BR> <AUDIO id="music"> <SOURCE src="sample.m4a" type="audio/mpeg"> <SOURCE src="sample.ogg" type="audio/ogg"> </AUDIO> <FORM name="musicform"> <INPUT name="playbutton" type="button" value="再生"> </FORM> <SCRIPT> var audio = document.getElementById("music"); var button = document.getElementById("playbutton"); button.addEventListener("click",function() { audio.play(); }, false); </SCRIPT> </BODY> </HTML> |
行: 16 エラー: 未定義または NULL 参照のプロパティ 'addEventListener' は取得できません |
<!DOCTYPE html> <HTML lang="ja"> <HEAD><TITLE>練習</TITLE></HEAD> <BODY> 音楽再生<BR> <AUDIO id="music"> <SOURCE src="sample.m4a" type="audio/mpeg"> <SOURCE src="sample.ogg" type="audio/ogg"> </AUDIO> <FORM name="musicform"> <INPUT id="playbutton" type="button" value="再生"> </FORM> <SCRIPT> var audio = document.getElementById("music"); var button = document.getElementById("playbutton"); button.addEventListener("click",function() { audio.play(); }, false); </SCRIPT> </BODY> </HTML> |
音楽再生 |
<HTML> <HEAD><TITLE>練習</TITLE></HEAD> <BODY> <FORM name="timeform"> 現在時刻<BR> <INPUT name="timetext1" type="text" size="40"><BR> <INPUT name="timetext2" type="text" size="40"><BR> </FORM> <SCRIPT> setInterval("displayOne()",1000); setInterval("displayTwo()",1000); function displayOne() { var nowData = getNowData(); document.timeform.timetext1.value = nowData[0] + "年" + nowData[1] + "月" + nowData[2] + "日(" + nowData[3] + ")" + nowData[4] + "時" + nowData[5] + "分" + nowData[6] + "秒"; } function displayTwo() { var nowData = getNowData(); document.timeform.timetext2.value = nowData[0] + "/" + setTwoDigit(nowData[1]) + "/" + setTwoDigit(nowData[2]) + "(" + nowData[3] + ")" + setTwoDigit(nowData[4]) + ":" + setTwoDigit(nowData[5]) + ":" + setTwoDigit(nowData[6]); } function getNowData() { var nowData = new Date(); var yearStr = nowData.getFullYear(); var monthStr = nowData.getMonth() + 1; var dateStr = nowData.getDate(); var weekNum = nowData.getDay(); var weekName = ["日","月","火","水","木","金","土"]; var hourStr = nowData.getHours(); var minStr = nowData.getMinutes(); var secStr = nowData.getSeconds(); var res = [yearStr, monthStr, dateStr, weekName[weekNum], hourStr, minStr, secStr]; return res; } function setTwoDigit(num) { var res = num; if(res < 10) { res = "0" + res; } return res; } </SCRIPT> </BODY> </HTML> |
現在時刻 |
<HTML> <HEAD><TITLE>練習</TITLE></HEAD> <BODY> <FORM name="timeform"> 現在時刻 <INPUT name="timetext" type="text" size="40"> </FORM> <SCRIPT> setInterval(function() { var nowData = new Date(); var yearStr = nowData.getFullYear(); var monthStr = nowData.getMonth() + 1; var dateStr = nowData.getDate(); var weekNum = nowData.getDay(); var weekName = ["日","月","火","水","木","金","土"]; var hourStr = nowData.getHours(); var minStr = nowData.getMinutes(); var secStr = nowData.getSeconds(); document.timeform.timetext.value = yearStr + "年" + monthStr + "月" + dateStr + "日(" + weekName[weekNum] + ")" + setTwoDigit(hourStr) + ":" + setTwoDigit(minStr) + ":" + setTwoDigit(secStr); }, 1000); function setTwoDigit(num) { var res = num; if(res < 10) { res = "0" + res; } return res; } </SCRIPT> </BODY> </HTML> |
<HTML> <HEAD><TITLE>練習</TITLE></HEAD> <BODY> <FORM name="timeform"> 現在時刻 <INPUT name="timetext" type="text" size="40"> </FORM> <SCRIPT> setInterval("displayTime()",1000); function displayTime() { var nowData = new Date(); var yearStr = nowData.getFullYear(); var monthStr = nowData.getMonth() + 1; var dateStr = nowData.getDate(); var weekNum = nowData.getDay(); var weekName = ["日","月","火","水","木","金","土"]; var hourStr = nowData.getHours(); var minStr = nowData.getMinutes(); var secStr = nowData.getSeconds(); document.timeform.timetext.value = yearStr + "年" + monthStr + "月" + dateStr + "日(" + weekName[weekNum] + ")" + setTwoDigit(hourStr) + ":" + setTwoDigit(minStr) + ":" + setTwoDigit(secStr); } function setTwoDigit(num) { var res = num; if(res < 10) { res = "0" + res; } return res; } </SCRIPT> </BODY> </HTML> |
document.write("ok"); |
<HTML> <HEAD><TITLE>練習</TITLE></HEAD> <BODY> 練習<BR> <SCRIPT> var nowData = new Date(); var yearStr = nowData.getFullYear(); var monthStr = nowData.getMonth() + 1; var dateStr = nowData.getDate(); var weekNum = nowData.getDay(); var weekName = ["日","月","火","水","木","金","土"]; var hourStr = nowData.getHours(); var minStr = nowData.getMinutes(); var secStr = nowData.getSeconds(); document.write(yearStr + "年" + monthStr + "月" + dateStr + "日(" + weekName[weekNum] + ")" + hourStr + "時" + minStr + "分" + secStr + "秒"); </SCRIPT> </BODY> </HTML> |
練習 |
<HTML> <HEAD><TITLE>練習</TITLE></HEAD> <BODY> 練習<BR> <SCRIPT> var nowData = new Date(); var yearStr = nowData.getFullYear(); var monthStr = nowData.getMonth() + 1; var dateStr = nowData.getDate(); var weekNum = nowData.getDay(); var weekName = ["日","月","火","水","木","金","土"]; var hourStr = nowData.getHours(); var minStr = nowData.getMinutes(); var secStr = nowData.getSeconds(); document.write(yearStr + "年" + monthStr + "月" + dateStr + "日(" + weekName[weekNum] + ")" + hourStr + "時" + minStr + "分" + secStr + "秒"); document.write("<BR>"); var weekEName = ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]; document.write(yearStr + "/" + monthStr + "/" + dateStr + "(" + weekEName[weekNum] + ")" + hourStr + ":" + minStr + ":" + secStr); </SCRIPT> </BODY> </HTML> |
練習 |
<HTML> <HEAD><TITLE>練習</TITLE></HEAD> <BODY> 練習<BR> <SCRIPT> var nowData = new Date(); var yearStr = nowData.getFullYear(); var monthStr = nowData.getMonth() + 1; var dateStr = nowData.getDate(); var weekNum = nowData.getDay(); var weekName = ["日","月","火","水","木","金","土"]; var hourStr = nowData.getHours(); var minStr = nowData.getMinutes(); var secStr = nowData.getSeconds(); document.write(yearStr + "年" + monthStr + "月" + dateStr + "日(" + weekName[weekNum] + ")" + hourStr + "時" + minStr + "分" + secStr + "秒"); document.write("<BR>"); var weekEName = ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]; document.write(yearStr + "/" + monthStr + "/" + dateStr + "(" + weekEName[weekNum] + ")" + setTwoDigit(hourStr) + ":" + setTwoDigit(minStr) + ":" + setTwoDigit(secStr)); function setTwoDigit(num) { var res = num; if(res < 10) { res = "0" + res; } return res; } </SCRIPT> </BODY> </HTML> |
練習 |
<HTML> <HEAD> <TITLE>練習</TITLE> </HEAD> <BODY> 練習<BR> <SCRIPT> alert("OK"); </SCRIPT> </BODY> </HTML> |
<HTML> <HEAD> <TITLE>練習</TITLE> </HEAD> <BODY> 練習<BR> <SCRIPT> alert("OK"); </SCRIPT> </BODY> </HTML> |
$ sudo dpkg -i getdeb-repository_0.1-1~getdeb1_all.deb $ sudo wget -q -O- http://archive.getdeb.net/getdeb-archive.key | sudo apt-key add - $ sudo sudo apt-get update && sudo apt-get install xvst |
$ sudo apt-get install libcurl3 $ sudo dpkg -i google-chrome-stable_current_i386.deb |
$ sudo apt-get install aptitude (「aptitude」をインストール) $ sudo aptitude update $ sudo aptitude -f install $ sudo aptitude -f full-upgrade |
Ubuntu | Vine Linux 6 | Puppy Linux | |
---|---|---|---|
CPU | Pentium4 1GHz | PentiumIII 1GHz | Pentium 166MMX |
メモリ | 1GB | 512MB | 128MB |
HDD | 15GB | 5GB | ※CD-ROM起動可 |
値段は少しはるものの、炭火の網の上で炊いてもよごれや焦げがつきにくく、ご飯も簡単に美味しく炊けた。 (*^v^*) 3回目になるこのキャンプは、岐阜県郡上市の「N.A.O.明野高原キャンプ場」。 ワンコ用のサークルに囲まれた場所があり、お盆の時期に行く予定だったので6月頃に電話予約をした。 管理棟前の池やキャンプ場内の小川でたくさんの子ども達が遊ぶ姿が見られた。 初の2泊3日、そして初の山の中。夜に小雨が降り、冷えて寝袋が大切に思えた。 管理棟でもらえる温泉の割引券を持って温泉まで行ったが、ちょっと遠い感じがした。一度も入らなかったが、管理棟のシャワールームでもよかったかも…。 |
Install feature locally Install entire feature Install on demand Don't install |
$ gedit ~/.wine/user.reg |
[Software¥¥Wine¥¥X11 Driver] 1129995218 "ClientSideAntiAliasWithRender"="N" "InputStyle"="root" |