This page is optimized for mobile devices, if you would prefer the desktop version just click here

0.11 Jbs2070-a general purpose audiograph program  (Page 7/16)

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.

<< Chapter < Page Page > Chapter >>

Read also:

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.
Jobilize.com uses cookies to ensure that you get the best experience. By continuing to use Jobilize.com web-site, you agree to the Terms of Use and Privacy Policy.