<< Chapter < Page Chapter >> Page >
Listing 7 . Beginning of the class named MusicComposer10.
public class MusicComposer10{ //Instantiate an object containing audio format parameters with predefined// values. They may be modified by the signal generator at runtime. Values // allowed by Java SDK 1.4.1 are shown in comments in the class definition.AudioFormatParameters01 audioParams = new AudioFormatParameters01();//A buffer to hold the audio data that will be played or filed. byte[]melody;//A place to store the incoming args array. String[]args; //-------------------------------------------------------------------------////Command-line parameter (three parameters required) //0 - If "play", the sound will be played immediately. Otherwise, the string// will be used as a filename for an audio file of type AU. In the latter // case, it must be a string that would be valid as a file name for the// operating system in use. //1 - Output pulses per second//2 - Input file namepublic static void main(String[] args){//Instantiate a new object of this class. new MusicComposer10(args);}//end main

The constructor for the class named MusicComposer10

The constructor for the class named MusicComposer10 is provided in Listing 8 . There is nothing new or unusual about this code so it shouldn't require further explanation.

Listing 8 . The constructor for the class named MusicComposer10.
public MusicComposer10(String[] args){//constructor//Save the args array. this.args = args;//Create default args data if no args data is provided on the command line.if(args.length == 0){ this.args = new String[3]; this.args[0]= "play";//Play the melody immediately this.args[1]= "6";//Pulses per minute this.args[2]= "TestData01.txt"; }//end if//Get a populated array containing audio data. AudioGraph01 audioGraph01 = new AudioGraph01(audioParams,this.args,melody);melody = audioGraph01.getMelody(); //Play or file the audio datanew AudioPlayOrFile01(audioParams,melody,this.args[0]).playOrFileData();}//end constructor //-------------------------------------------------------------------------//}//end class MusicComposer10.java

Listing 8 also signals the end of the class named MusicComposer10.

The class named AudioGraph01

A general purpose AudioGraph generator program

AudioGraph01 is a general purpose AudioGraph program that reads an input text file containing numeric values for y as a function of equally spaced values for xand produces an output melody that represents a graph of that data. The values for y are read as a comma-delimited list of values and are treated as type double . The name of the text file is input as a command-line parameter.

The input text file

The text file must be stored in a subfolder named Data that is a child of the folder containing the compiled program. The text file may be created manuallyusing a simple text editor or it may be created as the output of a program that evaluates a function.

Space characters are not allowed in the data.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Accessible objected-oriented programming concepts for blind students using java. OpenStax CNX. Sep 01, 2014 Download for free at https://legacy.cnx.org/content/col11349/1.17
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Accessible objected-oriented programming concepts for blind students using java' conversation and receive update notifications?

Ask