com.neoworks.shout
Class Shouter

java.lang.Object
  |
  +--com.neoworks.shout.Shouter
All Implemented Interfaces:
ControlPlayback, java.lang.Runnable

public class Shouter
extends java.lang.Object
implements java.lang.Runnable, ControlPlayback

The shouter thread. This class gets Tracks from a TrackSource and shouts them to a [Shout|Ice]Cast server.

Author:
Nigel Atkinson (nigel@neoworks.com)

Method Summary
 void cpStop()
          Shutdown the shouter
 Track getPlaying()
          Get the Track that is currently being played (or is about to be played)
 long getPlayingTime()
          Get the playing time for the current Track
 long getRemainingPlayingTime()
          Get the remaining time for the current Track
 TrackSource getTrackSource()
          Get the current TrackSource
 boolean isPaused()
          Test whether the shouter is in pause mode
 void pause()
          Pause the stream
 void play()
          Start the shouter thread
 void run()
          The shouter thread
 void setStream(Stream s)
          Set the Stream descriptor
 void setTrackSource(TrackSource p)
          Set the TrackSource
 void skip()
          Skip to the next track
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getPlaying

public Track getPlaying()
Get the Track that is currently being played (or is about to be played)

Specified by:
getPlaying in interface ControlPlayback
Returns:
The currently playing Track

getRemainingPlayingTime

public long getRemainingPlayingTime()
Get the remaining time for the current Track

Specified by:
getRemainingPlayingTime in interface ControlPlayback
Returns:
The remaining playing time in milliseconds

getPlayingTime

public long getPlayingTime()
Get the playing time for the current Track

Returns:
The playing time in milliseconds

getTrackSource

public TrackSource getTrackSource()
Get the current TrackSource

Specified by:
getTrackSource in interface ControlPlayback
Returns:
The TrackSource

setTrackSource

public void setTrackSource(TrackSource p)
Set the TrackSource

Specified by:
setTrackSource in interface ControlPlayback
Parameters:
p - The TrackSource to request tracks from

setStream

public void setStream(Stream s)
Set the Stream descriptor

Parameters:
s - The Stream descriptor object

play

public void play()
Start the shouter thread

Specified by:
play in interface ControlPlayback

cpStop

public void cpStop()
Shutdown the shouter

Specified by:
cpStop in interface ControlPlayback

pause

public void pause()
Pause the stream

Specified by:
pause in interface ControlPlayback

isPaused

public boolean isPaused()
Test whether the shouter is in pause mode

Specified by:
isPaused in interface ControlPlayback
Returns:
boolean indicating whether the Shouter is paused

skip

public void skip()
Skip to the next track

Specified by:
skip in interface ControlPlayback

run

public void run()
The shouter thread

Specified by:
run in interface java.lang.Runnable