38 lines
		
	
	
		
			994 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			994 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
@startuml
 | 
						|
package com.iluwatar.event.queue {
 | 
						|
  class App {
 | 
						|
    - LOGGER : Logger {static}
 | 
						|
    + App()
 | 
						|
    + main(args : String[]) {static}
 | 
						|
  }
 | 
						|
  class Audio {
 | 
						|
    - INSTANCE : Audio {static}
 | 
						|
    - LOGGER : Logger {static}
 | 
						|
    - MAX_PENDING : int {static}
 | 
						|
    - headIndex : int
 | 
						|
    - pendingAudio : PlayMessage[]
 | 
						|
    - tailIndex : int
 | 
						|
    - updateThread : Thread
 | 
						|
    ~ Audio()
 | 
						|
    + getAudioStream(filePath : String) : AudioInputStream
 | 
						|
    + getInstance() : Audio {static}
 | 
						|
    + getPendingAudio() : PlayMessage[]
 | 
						|
    + init()
 | 
						|
    + isServiceRunning() : boolean
 | 
						|
    + playSound(stream : AudioInputStream, volume : float)
 | 
						|
    - startThread()
 | 
						|
    + stopService()
 | 
						|
    - update()
 | 
						|
  }
 | 
						|
  class PlayMessage {
 | 
						|
    - stream : AudioInputStream
 | 
						|
    - volume : float
 | 
						|
    + PlayMessage(stream : AudioInputStream, volume : float)
 | 
						|
    + getStream() : AudioInputStream
 | 
						|
    + getVolume() : float
 | 
						|
    - setStream(stream : AudioInputStream)
 | 
						|
    + setVolume(volume : float)
 | 
						|
  }
 | 
						|
}
 | 
						|
Audio -->  "-INSTANCE" Audio
 | 
						|
@enduml |