<< Chapter < Page Chapter >> Page >

(White noise is usually thought to be noise that contains equal contributions of all frequencies. Pink noise is thought of as noise thatcontains almost equal contributions of almost all frequencies. In reality, the program that we will examine in this module will probably produce pink noiseinstead of white noise.)

Download and play the file named WhiteNoise to hear what white or pink noise sounds like. You will probably conclude that itisn't very pleasant to listen to. You should be able to play the audio file with any standard media player that can handle the AU file type. (In case you are on the OpenStax site and you are unable to download the audio file, click the Legacy Site link at the top of this page to switch over to the same module on the Legacy site. You should beable to download the audio file from there.)

Discussion and sample code

The class named AudioPlayOrFile01

A formal mechanism for code reuse

One of the most important aspects of OOP is that it provides a formal mechanism for code reuse without a requirement for the distribution of sourcecode. For example, if some other programmer

  • has developed a class (or a group of classes) that does something that you need to do, and
  • if you have confidence in that programmer, and
  • if that programmer is willing to provide you with the compiled files for those classes, then
  • you can use them in your program without knowing or caring how they are implemented.

All you need is documentation on how to use the classes.

The Java Standard edition library

The Java Standard edition library contains thousands of compiled class files that are available for every Java programmer to use whenever and wherever theyare needed. Java programmers routinely use those classes every day without knowing or caring howthey are actually implemented.

For example, the library contains a class named Random that can be used to produce a series of pseudo-random numbers. We will use that classin the program in this module. I don't know, nor do I care, how the code in that class produces the numbers. I'm confident that it behaves as advertised.Therefore, all I care about is how to use it. I can learn that from the library documentation.

Two special classes

I will provide the source code for two special classes in this module that I will use in several future modules without modification. I suggest that you simply have confidence thatthey behave as advertised and use them. I will provide very little, if any, explanation as to how they do what they do. Those classes are named

  • AudioPlayOrFile01
  • AudioFormatParameters01

The class named AudioPlayOrFile01 accepts an array of byte data as input, along with some other information, and causes electrical currentsto flow through audio speakers that are attached to the computer. A complete listing of the class named AudioPlayOrFile01 is provided in Listing 12 .

This class is very simple to use. As you can see in Listing 12 , the constructor for the class requires three parameters:

  • A reference to an object of the class AudioFormatParameters01 (see this section ) .
  • A reference to an array containing elements of type byte , which define the sound that is to be played or filed. The format of thearray will be defined later.
  • A reference to an object of type String containing either "play", which will cause the sound to be played immediately, or containing a string thatcan be used as the name of an output audio file of type AU.

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