/******************************************************************************
* Copyright 2013-2016 LASIGE                                                  *
*                                                                             *
* Licensed under the Apache License, Version 2.0 (the "License"); you may     *
* not use this file except in compliance with the License. You may obtain a   *
* copy of the License at http://www.apache.org/licenses/LICENSE-2.0           *
*                                                                             *
* Unless required by applicable law or agreed to in writing, software         *
* distributed under the License is distributed on an "AS IS" BASIS,           *
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.    *
* See the License for the specific language governing permissions and         *
* limitations under the License.                                              *
*                                                                             *
*******************************************************************************
* Audio player for the GUI.                                                   *
*                                                                             *
* @author Daniel Faria                                                        *
******************************************************************************/
package aml.ui;

import java.io.File;

import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Clip;

public class Audio
{
	
//Attributes
	
	private static String error = "store/audio/error.wav";
	private static String finished = "store/audio/finished.wav";
	private static String notification = "store/audio/notification.wav";
	
//Constructors
	
	private Audio(){}
	
//Public Methods
	
	public static void error()
	{
		play(error);
	}
	
	public static void finished()
	{
		play(finished);
	}
	
	public static void notification()
	{
		play(notification);
	}
	
//Private Methods
	
	private static void play(String file)
	{
		File f = new File(file);
		if(f.canRead())
		{
			try
			{
				Clip clip = AudioSystem.getClip();
				AudioInputStream inputStream = AudioSystem.getAudioInputStream(f);
				clip.open(inputStream);
				clip.start();
			}
			catch(Exception e)
			{
				//Do nothing
			}
		}
	}
}