PHP Class duncan3dc\Sonos\Controller

Although sometimes a Controller is synonymous with a Speaker, when speakers are grouped together only the coordinator can receive events (play/pause/etc)
Inheritance: extends duncan3dc\Sonos\Speaker
Afficher le fichier Open project: duncan3dc/sonos Class Usage Examples

Protected Properties

Свойство Type Description
$network Network The network instance this Controller is part of.

Méthodes publiques

Méthode Description
__construct ( duncan3dc\Sonos\Speaker $speaker, Network $network ) Create a Controller instance from a speaker.
addSpeaker ( duncan3dc\Sonos\Speaker $speaker ) : static Adds the specified speaker to the group of this Controller.
adjustVolume ( integer $adjust ) : static Adjust the volume of all the speakers controlled by this Controller.
exportState ( boolean $pause = true ) : duncan3dc\Sonos\ControllerState Grab the current state of the Controller (including it's queue and playing attributes).
getCrossfade ( ) : boolean Check if crossfade is currently active.
getMediaInfo ( ) : array Get the currently active media info.
getMode ( ) : array Get the current play mode settings.
getNetwork ( ) : Network Get the network instance used by this controller.
getQueue ( ) : Queue Get the queue for this controller.
getRepeat ( ) : boolean Check if repeat is currently active.
getShuffle ( ) : boolean Check if shuffle is currently active.
getSpeakers ( ) : duncan3dc\Sonos\Speaker[] Get the speakers that are in the group of this controller.
getState ( ) : integer Get the current state of the group of speakers.
getStateDetails ( ) : State Get attributes about the currently active track in the queue.
getStateName ( ) : string Get the current state of the group of speakers as the string reported by sonos: PLAYING, PAUSED_PLAYBACK, etc
interrupt ( duncan3dc\Sonos\Tracks\UriInterface $track, integer $volume = null ) : static Interrupt the current audio with a track.
isCoordinator ( ) : boolean Check if this speaker is the coordinator of it's current group.
isStreaming ( ) : boolean Check if this controller is currently playing a stream.
isUsingQueue ( ) : boolean Check if this controller is currently using its queue.
next ( ) : static Skip to the next track in the current queue.
pause ( ) : static Pause the group.
play ( ) : static Start playing the active music for this group.
previous ( ) : static Skip back to the previous track in the current queue.
removeSpeaker ( duncan3dc\Sonos\Speaker $speaker ) : static Removes the specified speaker from the group of this Controller.
restoreState ( duncan3dc\Sonos\ControllerState $state ) : static Restore the Controller to a previously exported state.
seek ( integer $seconds ) : static Seeks to a specific position within the current track.
selectTrack ( integer $position ) : static Skip to the specific track in the current queue.
setCrossfade ( boolean $crossfade ) : static Turn crossfade on or off.
setMode ( array $options ) : static Set the current play mode settings.
setRepeat ( boolean $repeat ) : static Turn repeat mode on or off.
setShuffle ( boolean $shuffle ) : static Turn shuffle mode on or off.
setState ( integer $state ) : static Set the state of the group.
setVolume ( integer $volume ) : static Set the current volume of all the speakers controlled by this Controller.
useLineIn ( duncan3dc\Sonos\Speaker $speaker = null ) : static Play a line-in from a speaker.
useQueue ( ) : static Set this controller to use its queue (rather than a stream).
useStream ( Stream $stream ) : static Play a stream on this controller.

Méthodes protégées

Méthode Description
getPlayMode ( string $type ) : boolean Get a particular PlayMode.
setPlayMode ( string $type, boolean $value ) : static Set a particular PlayMode.

Method Details

__construct() public méthode

The speaker must be a coordinator.
public __construct ( duncan3dc\Sonos\Speaker $speaker, Network $network )
$speaker duncan3dc\Sonos\Speaker
$network Network

addSpeaker() public méthode

Adds the specified speaker to the group of this Controller.
public addSpeaker ( duncan3dc\Sonos\Speaker $speaker ) : static
$speaker duncan3dc\Sonos\Speaker The speaker to add to the group
Résultat static

adjustVolume() public méthode

Adjust the volume of all the speakers controlled by this Controller.
public adjustVolume ( integer $adjust ) : static
$adjust integer A relative amount between -100 and 100
Résultat static

exportState() public méthode

Grab the current state of the Controller (including it's queue and playing attributes).
public exportState ( boolean $pause = true ) : duncan3dc\Sonos\ControllerState
$pause boolean Whether to pause the controller or not
Résultat duncan3dc\Sonos\ControllerState

getCrossfade() public méthode

Check if crossfade is currently active.
public getCrossfade ( ) : boolean
Résultat boolean

getMediaInfo() public méthode

Get the currently active media info.
public getMediaInfo ( ) : array
Résultat array

getMode() public méthode

Get the current play mode settings.
public getMode ( ) : array
Résultat array An array with 2 boolean elements (shuffle and repeat)

getNetwork() public méthode

Get the network instance used by this controller.
public getNetwork ( ) : Network
Résultat Network

getPlayMode() protected méthode

Get a particular PlayMode.
protected getPlayMode ( string $type ) : boolean
$type string The play mode attribute to get
Résultat boolean

getQueue() public méthode

Get the queue for this controller.
public getQueue ( ) : Queue
Résultat Queue

getRepeat() public méthode

Check if repeat is currently active.
public getRepeat ( ) : boolean
Résultat boolean

getShuffle() public méthode

Check if shuffle is currently active.
public getShuffle ( ) : boolean
Résultat boolean

getSpeakers() public méthode

Get the speakers that are in the group of this controller.
public getSpeakers ( ) : duncan3dc\Sonos\Speaker[]
Résultat duncan3dc\Sonos\Speaker[]

getState() public méthode

Get the current state of the group of speakers.
public getState ( ) : integer
Résultat integer One of the class STATE_ constants

getStateDetails() public méthode

Get attributes about the currently active track in the queue.
public getStateDetails ( ) : State
Résultat State Track data containing the following elements

getStateName() public méthode

Get the current state of the group of speakers as the string reported by sonos: PLAYING, PAUSED_PLAYBACK, etc
public getStateName ( ) : string
Résultat string

interrupt() public méthode

The current state of the controller is stored, the passed track is played, and then when it has finished the previous state of the controller is restored. This is useful for making announcements over the Sonos network.
public interrupt ( duncan3dc\Sonos\Tracks\UriInterface $track, integer $volume = null ) : static
$track duncan3dc\Sonos\Tracks\UriInterface The track to play
$volume integer The volume to play the track at
Résultat static

isCoordinator() public méthode

This method is only here to override the method from the Speaker class. A Controller instance is always the coordinator of it's group.
public isCoordinator ( ) : boolean
Résultat boolean

isStreaming() public méthode

Check if this controller is currently playing a stream.
public isStreaming ( ) : boolean
Résultat boolean

isUsingQueue() public méthode

Check if this controller is currently using its queue.
public isUsingQueue ( ) : boolean
Résultat boolean

next() public méthode

Skip to the next track in the current queue.
public next ( ) : static
Résultat static

pause() public méthode

Pause the group.
public pause ( ) : static
Résultat static

play() public méthode

Start playing the active music for this group.
public play ( ) : static
Résultat static

previous() public méthode

Skip back to the previous track in the current queue.
public previous ( ) : static
Résultat static

removeSpeaker() public méthode

Removes the specified speaker from the group of this Controller.
public removeSpeaker ( duncan3dc\Sonos\Speaker $speaker ) : static
$speaker duncan3dc\Sonos\Speaker The speaker to remove from the group
Résultat static

restoreState() public méthode

Restore the Controller to a previously exported state.
public restoreState ( duncan3dc\Sonos\ControllerState $state ) : static
$state duncan3dc\Sonos\ControllerState The state to be restored
Résultat static

seek() public méthode

Seeks to a specific position within the current track.
public seek ( integer $seconds ) : static
$seconds integer The number of seconds to position to in the track
Résultat static

selectTrack() public méthode

Skip to the specific track in the current queue.
public selectTrack ( integer $position ) : static
$position integer The zero-based position of the track to skip to
Résultat static

setCrossfade() public méthode

Turn crossfade on or off.
public setCrossfade ( boolean $crossfade ) : static
$crossfade boolean Whether crossfade should be on or not
Résultat static

setMode() public méthode

Set the current play mode settings.
public setMode ( array $options ) : static
$options array An array with 2 boolean elements (shuffle and repeat)
Résultat static

setPlayMode() protected méthode

Set a particular PlayMode.
protected setPlayMode ( string $type, boolean $value ) : static
$type string The play mode attribute to update
$value boolean The value to set the attribute to
Résultat static

setRepeat() public méthode

Turn repeat mode on or off.
public setRepeat ( boolean $repeat ) : static
$repeat boolean Whether repeat should be on or not
Résultat static

setShuffle() public méthode

Turn shuffle mode on or off.
public setShuffle ( boolean $shuffle ) : static
$shuffle boolean Whether shuffle should be on or not
Résultat static

setState() public méthode

Set the state of the group.
public setState ( integer $state ) : static
$state integer One of the class STATE_ constants
Résultat static

setVolume() public méthode

Set the current volume of all the speakers controlled by this Controller.
public setVolume ( integer $volume ) : static
$volume integer An amount between 0 and 100
Résultat static

useLineIn() public méthode

If no speaker is passed then the current controller's is used.
public useLineIn ( duncan3dc\Sonos\Speaker $speaker = null ) : static
$speaker duncan3dc\Sonos\Speaker The speaker to get the line-in from
Résultat static

useQueue() public méthode

Set this controller to use its queue (rather than a stream).
public useQueue ( ) : static
Résultat static

useStream() public méthode

Play a stream on this controller.
public useStream ( Stream $stream ) : static
$stream duncan3dc\Sonos\Tracks\Stream The Stream object to play
Résultat static

Property Details

$network protected_oe property

The network instance this Controller is part of.
protected Network,duncan3dc\Sonos $network
Résultat Network