src/share/classes/sun/audio/AudioPlayer.java

Print this page




  75         public static final AudioPlayer player = getAudioPlayer();
  76 
  77         private static ThreadGroup getAudioThreadGroup() {
  78 
  79             if(DEBUG) { System.out.println("AudioPlayer.getAudioThreadGroup()"); }
  80             ThreadGroup g = currentThread().getThreadGroup();
  81             while ((g.getParent() != null) &&
  82                    (g.getParent().getParent() != null)) {
  83                 g = g.getParent();
  84             }
  85             return g;
  86         }
  87 
  88         /**
  89          * Create an AudioPlayer thread in a privileged block.
  90          */
  91 
  92         private static AudioPlayer getAudioPlayer() {
  93 
  94             if(DEBUG) { System.out.println("> AudioPlayer.getAudioPlayer()"); }
  95             AudioPlayer audioPlayer;
  96             PrivilegedAction action = new PrivilegedAction() {
  97                     public Object run() {
  98                         Thread t = new AudioPlayer();
  99                         t.setPriority(MAX_PRIORITY);
 100                         t.setDaemon(true);
 101                         t.start();
 102                         return t;
 103                     }
 104                 };
 105             audioPlayer = (AudioPlayer) AccessController.doPrivileged(action);
 106             return audioPlayer;
 107         }
 108 
 109         /**
 110          * Construct an AudioPlayer.
 111          */
 112         private AudioPlayer() {
 113 
 114             super(getAudioThreadGroup(), "Audio Player");
 115             if(DEBUG) { System.out.println("> AudioPlayer private constructor"); }
 116             devAudio = AudioDevice.device;
 117             devAudio.open();
 118             if(DEBUG) { System.out.println("< AudioPlayer private constructor completed"); }
 119         }
 120 
 121 
 122         /**
 123          * Start playing a stream. The stream will continue to play
 124          * until the stream runs out of data, or it is stopped.
 125          * @see AudioPlayer#stop
 126          */




  75         public static final AudioPlayer player = getAudioPlayer();
  76 
  77         private static ThreadGroup getAudioThreadGroup() {
  78 
  79             if(DEBUG) { System.out.println("AudioPlayer.getAudioThreadGroup()"); }
  80             ThreadGroup g = currentThread().getThreadGroup();
  81             while ((g.getParent() != null) &&
  82                    (g.getParent().getParent() != null)) {
  83                 g = g.getParent();
  84             }
  85             return g;
  86         }
  87 
  88         /**
  89          * Create an AudioPlayer thread in a privileged block.
  90          */
  91 
  92         private static AudioPlayer getAudioPlayer() {
  93 
  94             if(DEBUG) { System.out.println("> AudioPlayer.getAudioPlayer()"); }
  95             PrivilegedAction<AudioPlayer> action = new PrivilegedAction<AudioPlayer>() {
  96                     public AudioPlayer run() {
  97                         AudioPlayer t = new AudioPlayer();

  98                         t.setPriority(MAX_PRIORITY);
  99                         t.setDaemon(true);
 100                         t.start();
 101                         return t;
 102                     }
 103                 };
 104             return  AccessController.doPrivileged(action);

 105         }
 106 
 107         /**
 108          * Construct an AudioPlayer.
 109          */
 110         private AudioPlayer() {
 111 
 112             super(getAudioThreadGroup(), "Audio Player");
 113             if(DEBUG) { System.out.println("> AudioPlayer private constructor"); }
 114             devAudio = AudioDevice.device;
 115             devAudio.open();
 116             if(DEBUG) { System.out.println("< AudioPlayer private constructor completed"); }
 117         }
 118 
 119 
 120         /**
 121          * Start playing a stream. The stream will continue to play
 122          * until the stream runs out of data, or it is stopped.
 123          * @see AudioPlayer#stop
 124          */