====== 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); } }