Changeset 2352
- Timestamp:
- 11/14/07 22:24:11 (1 year ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
Trunk/SpeechSubmission/VFSpeechSubmission/java/src/speechrecorder/CapturePlayback.java
r2351 r2352 47 47 import java.net.URL; 48 48 import java.text.*; 49 import java.util.Enumeration;50 49 import java.util.Vector; 51 50 import javax.sound.sampled.*; 52 51 import javax.swing.*; 53 52 import javax.swing.border.*; 54 import javax.swing.event.*;55 53 import net.sf.postlet.UploadManager; 56 54 import netscape.javascript.JSObject; 57 // !!!!!!58 //import java.io.File;59 //import java.io.FileInputStream;60 //import java.io.FileOutputStream;61 55 import java.util.zip.ZipEntry; 62 56 import java.util.zip.ZipOutputStream; … … 66 60 import speechrecorder.Prompts; 67 61 import speechrecorder.LabelLocalizer; 68 69 62 70 63 /** … … 107 100 AudioInputStream audioInputStream; 108 101 SamplingGraph samplingGraph; 109 // !!!!!!110 JButton playB;111 JButton captB;112 JButton pausB;113 JButton loadB;114 102 JButton uploadB; 115 103 JButton moreInfoB; 116 104 JButton aboutB; 117 // !!!!!!118 105 JButton play1; 119 106 JButton capt1; … … 162 149 String license = licenseObject.getLicense(); 163 150 String VFlicense = licenseObject.getVFLicense(); 164 // !!!!!! 165 166 public JButton auB; 167 168 // !!!!!! 169 JButton aiffB; 170 171 // !!!!!! 172 JButton waveB; 151 173 152 JTextField textField; 174 153 175 154 String fileName = "untitled"; 176 155 String errStr; 177 // !!!!!! 156 178 157 double duration = 0; 179 158 double duration1 = 0; … … 187 166 double duration9 = 0; 188 167 double duration10 = 0; 189 // !!!!!! 168 190 169 double seconds; 191 170 long totalBytesWritten = 0L; … … 194 173 195 174 private File wavFile; 196 // !!!!!! 175 197 176 private File wavFile1; 198 177 private File wavFile2; … … 918 897 public void actionPerformed(ActionEvent e) { 919 898 Object obj = e.getSource(); 920 if (obj.equals(auB)) { 921 saveToFile(textField.getText().trim(), AudioFileFormat.Type.AU); 922 } else if (obj.equals(aiffB)) { 923 saveToFile(textField.getText().trim(), AudioFileFormat.Type.AIFF); 924 } else if (obj.equals(waveB)) { 925 saveToFile(textField.getText().trim(), AudioFileFormat.Type.WAVE); 926 } 927 899 928 900 // ################### Play ####################################### 929 else if (obj.equals(playB)) { 930 if (playB.getText().startsWith(playButton)) { 931 playback.start(); 932 samplingGraph.start(); 933 captB.setEnabled(false); 934 pausB.setEnabled(true); 935 playB.setText(stopButton); 936 } else { 937 playback.stop(); 938 samplingGraph.stop(); 939 captB.setEnabled(true); 940 pausB.setEnabled(false); 941 playB.setText(playButton); 942 } 943 } 944 // !!!!!! 945 else if (obj.equals(play1)) { 901 if (obj.equals(play1)) { 946 902 if (play1.getText().startsWith(playButton)) { 947 903 wavFile = wavFile1; // !!!!!! … … 1103 1059 } 1104 1060 } 1105 // !!!!!!1106 1061 // ################### Record ####################################### 1107 else if (obj.equals(captB)) {1108 if (captB.getText().startsWith("Record")) {1109 file = null;1110 capture.start();1111 fileName = "untitled";1112 samplingGraph.start();1113 //Temp hidden loadB.setEnabled(false);1114 uploadB.setEnabled(false);1115 moreInfoB.setEnabled(false);1116 aboutB.setEnabled(false);1117 playB.setEnabled(false);1118 pausB.setEnabled(true);1119 //temp hidden auB.setEnabled(false);1120 //temp hidden aiffB.setEnabled(false);1121 //temp hidden waveB.setEnabled(false);1122 captB.setText(stopButton);1123 } else {1124 lines.removeAllElements();1125 capture.stop();1126 samplingGraph.stop();1127 //Temp hidden loadB.setEnabled(true);1128 uploadB.setEnabled(true);1129 moreInfoB.setEnabled(true);1130 aboutB.setEnabled(true);1131 playB.setEnabled(true);1132 pausB.setEnabled(false);1133 //temp hidden auB.setEnabled(true);1134 //temp hidden aiffB.setEnabled(true);1135 //temp hidden waveB.setEnabled(true);1136 captB.setText("Record");1137 }1138 }1139 // !!!!!!1140 1062 else if (obj.equals(capt1)) { 1141 1063 if (capt1.getText().startsWith(recordButton)) { … … 1441 1363 } 1442 1364 } 1443 // !!!!!!1444 // ################### Pause #######################################1445 else if (obj.equals(pausB)) {1446 if (pausB.getText().startsWith("Pause")) {1447 if (capture.thread != null) {1448 capture.line.stop();1449 } else {1450 if (playback.thread != null) {1451 playback.line.stop();1452 }1453 }1454 pausB.setText("Resume");1455 } else {1456 if (capture.thread != null) {1457 capture.line.start();1458 } else {1459 if (playback.thread != null) {1460 playback.line.start();1461 }1462 }1463 pausB.setText("Pause");1464 }1465 }1466 1467 // ################### Load #######################################1468 else if (obj.equals(loadB)) {1469 try {1470 File file = new File(System.getProperty("user.dir"));1471 JFileChooser fc = new JFileChooser(file);1472 fc.setFileFilter(new javax.swing.filechooser.FileFilter () {1473 public boolean accept(File f) {1474 if (f.isDirectory()) {1475 return true;1476 }1477 String name = f.getName();1478 if (name.endsWith(".au") || name.endsWith(".wav") || name.endsWith(".aiff") || name.endsWith(".aif")) {1479 return true;1480 }1481 return false;1482 }1483 public String getDescription() {1484 return ".au, .wav, .aif";1485 }1486 });1487 1488 if (fc.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) {1489 createAudioInputStream(fc.getSelectedFile(), true);1490 }1491 } catch (SecurityException ex) {1492 // JavaSound.showInfoDialog();1493 ex.printStackTrace();1494 } catch (Exception ex) {1495 ex.printStackTrace();1496 }1497 }1498 1365 // ################### Upload ####################################### 1499 1366 else if (obj.equals(uploadB)) { 1500 // !!!!!!1501 // uploadB.setEnabled(false);1502 // playB.setEnabled(false);1503 // pausB.setEnabled(false);1504 // captB.setEnabled(false);1505 // upload1.setEnabled(false);1506 1367 play1.setEnabled(false); 1507 1368 capt1.setEnabled(false); … … 1584 1445 errStr = null; 1585 1446 audioInputStream = AudioSystem.getAudioInputStream(file); 1586 playB.setEnabled(true);1587 1447 fileName = file.getName(); 1588 1448 long milliseconds = (long)((audioInputStream.getFrameLength() * 1000) / audioInputStream.getFormat().getFrameRate()); 1589 1449 duration = milliseconds / 1000.0; 1590 auB.setEnabled(true);1591 aiffB.setEnabled(true);1592 waveB.setEnabled(true);1593 1450 if (updateComponents) { 1594 1451 //DEL formatControls.setFormat(audioInputStream.getFormat()); … … 1885 1742 thread = null; 1886 1743 samplingGraph.stop(); 1887 playB.setEnabled(true);1888 waveB.setEnabled(true);1889 captB.setText(recordButton);1890 1744 System.err.println(errStr); 1891 1745 samplingGraph.repaint(); … … 2356 2210 if (thread != null) { 2357 2211 thread = null; 2358 captB.setEnabled(true);2359 pausB.setEnabled(false);2360 2212 } 2361 2213 } … … 2447 2299 Color jfcBlue = new Color(204, 204, 255); 2448 2300 Color pink = new Color(255, 175, 175); 2449 // !!!!!!2450 2301 protected boolean peakWarning = false; 2451 // !!!!!!2452 2453 2302 2454 2303 public SamplingGraph() { … … 2541 2390 y_last = y_new; 2542 2391 } 2543 // !!!!!!2544 2392 System.err.println("numPeakValues: " + numPeakValues); 2545 2393 float proportionPeakValues = ((float)numPeakValues) / ((int)nlengthInSamples); 2546 2394 System.err.println("proportionPeakValues: " + proportionPeakValues); 2547 2395 peakWarning = proportionPeakValues > 0.001f; 2548 // !!!!!!2549 2396 repaint(); 2550 2397 }