SoundSample

Das Programm SoundSample spielt 8-bit- WAV Sounds über den internen Lautsprecher ab. Die Sounds werden über den NXT Manager hochgeladen und können über das Display ausgewählt werden

import lejos.nxt.*;
import lejos.util.TextMenu;
 
import java.io.*;
 
/**
 * Demonstrates playing 8-bit WAV files.
 * 
 * Use nxjbrowse to upload 8-bit WAV files. On Windows XP, ringin.wav and
 * ringout.wav are 8-bit WAV file, which can be found in the Media subfolder of
 * the Windows folder.
 * 
 * @author Lawrie Griffiths
 * 
 */
public class SoundSample {
 public static void main(String[] options) throws Exception {
 File[] allFiles = File.listFiles();
 String s;
 int len = 0;
 
 // Calculate number of WAV files
 
 for (int i = 0; i < allFiles.length && allFiles[i] != null; i++) {
 s = allFiles[i].getName();
 int l = s.length();
 if (l > 4 && s.charAt(l - 3) == 'w' && s.charAt(l - 2) == 'a'
 && s.charAt(l - 1) == 'v')
 len++;
 }
 
 // Make array of WAV files and fileNames
 
 String[] fileNames = new String[len];
 File[] files = new File[len];
 int j = 0;
 for (int i = 0; i < allFiles.length && allFiles[i] != null; i++) {
 s = allFiles[i].getName();
 int l = s.length();
 if (l > 4 && s.charAt(l - 3) == 'w' && s.charAt(l - 2) == 'a'
 && s.charAt(l - 1) == 'v') {
 fileNames[j] = s;
 files[j++] = allFiles[i];
 }
 }
 
 LCD.drawString("Play a WAV file", 0, 0);
 
 // Create menu of WAV files
 TextMenu fileMenu = new TextMenu(fileNames, 1);
 
 // Play files until the user quits
 int selected;
 do {
 selected = fileMenu.select();
 if (selected >= 0) {
 Sound.playSample(files[selected], 100);
 }
 } while (selected >= 0);
 
 }
}