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