Skip to main content

Relay.Calling.PlayAction

This object returned from one of asynchronous play methods that represents a playing currently active on a call.

Methods

getControlId

Return the UUID to identify the playing.

Parameters

None

Returns

string - UUID to identify the action.

Examples

Start the play and print the controlId.

<?php

$call->playAudioAsync('https://cdn.signalwire.com/default-music/welcome.mp3')->done(function($action) {
echo $action->getControlId();
});

getPayload

Return the payload sent to Relay to initiate the request. Useful to inspect what you sent to perform this action.

Parameters

None

Returns

Object - Payload sent to Relay.

Examples

Start the play and print out the payload.

<?php

$call->playAudioAsync('https://cdn.signalwire.com/default-music/welcome.mp3')->done(function($action) {
print_r($action->getPayload());
});

getResult

Returns the final result of the playing.

Parameters

None

Returns

Relay.Calling.PlayResult - Final result of the playing.

Examples

Start the play and grab the result when it's completed.

<?php

$call->playAudioAsync('https://cdn.signalwire.com/default-music/welcome.mp3')->done(function($action) {
// .. later in the code since it's an async method
if ($action->isCompleted()) {
$result = $action->getResult();
}
});

getState

Return the current state of the playing.

Parameters

None

Returns

string - Current state of the playing.

Examples

Start the play and print the state.

<?php

$call->playAudioAsync('https://cdn.signalwire.com/default-music/welcome.mp3')->done(function($action) {
echo $action->getState();
});

isCompleted

Return true if the playing has finished, false otherwise.

Parameters

None

Returns

Boolean - True/False accordingly to the state.

Examples

Start the play and check if it has finished.

<?php

$call->playAudioAsync('https://cdn.signalwire.com/default-music/welcome.mp3')->done(function($action) {
if ($action->isCompleted()) {

}
});

pause

Pause the playback immediately.

Parameters

None

Returns

React\Promise\Promise - Promise object that will be fulfilled with a Relay.Calling.PlayPauseResult object.

Examples

Start playing an audio file and pause it.

<?php

$call->playAudioAsync('https://cdn.signalwire.com/default-music/welcome.mp3')->done(function($action) {
// For demonstration purposes only..
$action->pause()->done(function($pauseResult) {
if ($pauseResult->successful) {

}
});
});

resume

Resume the playback immediately.

Parameters

None

Returns

React\Promise\Promise - Promise object that will be fulfilled with a Relay.Calling.PlayResumeResult object.

Examples

Start playing an audio file, stop it and then resume it.

<?php

$call->playAudioAsync('https://cdn.signalwire.com/default-music/welcome.mp3')->done(function($action) {
// For demonstration purposes only..
$action->pause()->done(function($pauseResult) use ($action) {
// .. later in the code..
$action->resume()->done(function($resumeResult) {

});
});
});

Note: you can avoid the callback hell using these methods in a Relay.Consumer.

stop

Stop the action immediately.

Parameters

None

Returns

React\Promise\Promise - Promise object that will be fulfilled with a Relay.Calling.StopResult object.

Examples

Start the play and stop it if an Agent is not available.

<?php

$call->playAudioAsync('https://cdn.signalwire.com/default-music/welcome.mp3')->done(function($action) use ($globalAgent) {
if ($globalAgent->isAvailable() === false) {
$action->stop()->done(function($stopResult) {

});
}
});

volume

Control the volume of the playback.

Parameters

ParameterTypeRequiredDescription
volumenumberrequiredVolume value between -40dB and +40dB where 0 is unchanged.

Returns

React\Promise\Promise - Promise object that will be fulfilled with a Relay.Calling.PlayVolumeResult object.

Examples

Start the play and increase the playback volume.

<?php

$call->playAudioAsync('https://cdn.signalwire.com/default-music/welcome.mp3')->done(function($action) {
// For demonstration purposes only..
$action->volume(5.0)->done(function($volumeResult) {
if ($volumeResult->successful) {

}
});
});