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