package org.limewire.player.api;
import java.util.EventListener;
import java.util.Map;
/**
* Listener for events generated by the AudioPlayer.
*/
public interface AudioPlayerListener extends EventListener {
/**
* Open callback, stream is ready to play.
* <p>
* properties map includes audio format dependant features such as bitrate,
* duration, frequency, channels, number of frames, vbr flag, id3v2/id3v1
* (for MP3 only), comments (for Ogg Vorbis), ...
*
* @param properties audio stream properties.
*/
public void songOpened(Map<String,Object> properties);
/**
* Progress callback while playing.
* <p>
* This method is called severals time per seconds while playing.properties
* map includes audio format features such as instant bitrate, microseconds
* position, current frame number, ...
*
* @param bytesread from encoded stream
*/
public void progressChange(int bytesread);
/**
* Notification callback for basicplayer events such as opened, eom ...
*
*/
public void stateChange(AudioPlayerEvent event);
}