package com.gamepatriot.androidframework.framework;

/**
 * An AudioMusicHandler implementation should contain the functionality of controlling playback for long (non-sfx) audio files.
 * 
 * @author Pete Schmitz, May 9, 2013
 *
 */
public interface AndroidMusicHandler {
	
	/** Pause current music being played. **/
	public void pauseMusic();
	
	/** Resume music at the location it was previously halted at. **/
	public void resumeMusic();
	
	/** 
	 * Set the volume that music will be played at.
	 * @param $amount		Amount the volume will be set to. (100% == 1.0f)
	 */
	public void musicVolume(float $amount);
	
	/** Hard-enable for music. Typically invoked after {@link #disableMusic()} to recreate the {@link MediaPlayer} that was disposed of. Should continue music previously played
	 * before the disposal. **/
	public void enableMusic();
	
	/** Hard-disable for music. Saves reference of current playback location and then disposes the {@link MediaPlayer} in use. **/
	public void disableMusic();
	
}
