Bandwidth PHP SDK
  • Namespace
  • Class

Namespaces

  • Catapult
  • None

Classes

  • Catapult\Account
  • Catapult\AnswerCallEvent
  • Catapult\Application
  • Catapult\ApplicationCollection
  • Catapult\AudioMixin
  • Catapult\BaML
  • Catapult\BaMLAssert
  • Catapult\BaMLAttribute
  • Catapult\BaMLContainer
  • Catapult\BaMLGather
  • Catapult\BaMLGeneric
  • Catapult\BaMLHangup
  • Catapult\BaMLPlayAudio
  • Catapult\BaMLRedirect
  • Catapult\BaMLResource
  • Catapult\BaMLSendMessage
  • Catapult\BaMLSpeakSentence
  • Catapult\BaMLText
  • Catapult\BaMLTransfer
  • Catapult\BaMLVerb
  • Catapult\BaMLVerbGather
  • Catapult\BaMLVerbHangup
  • Catapult\BaMLVerbPlayAudio
  • Catapult\BaMLVerbRecord
  • Catapult\BaMLVerbRedirect
  • Catapult\BaMLVerbSendMessage
  • Catapult\BaMLVerbSpeakSentence
  • Catapult\BaMLVerbTransfer
  • Catapult\BaseResource
  • Catapult\BaseUtilities
  • Catapult\Bridge
  • Catapult\BridgeCollection
  • Catapult\Call
  • Catapult\Callback
  • Catapult\CallCollection
  • Catapult\CallCombo
  • Catapult\CallEvent
  • Catapult\CallEvents
  • Catapult\CallEventsCollection
  • Catapult\Cleaner
  • Catapult\Client
  • Catapult\ClientResource
  • Catapult\CollectionIterator
  • Catapult\CollectionObject
  • Catapult\CollectionSequence
  • Catapult\Conference
  • Catapult\ConferenceEventMixin
  • Catapult\ConferenceMember
  • Catapult\ConferenceMemberEvent
  • Catapult\ConferencePlaybackEvent
  • Catapult\Constructor
  • Catapult\Converter
  • Catapult\Credentials
  • Catapult\CredentialsUser
  • Catapult\DataPacket
  • Catapult\DataPacketCollection
  • Catapult\Date
  • Catapult\DependsObject
  • Catapult\DependsResource
  • Catapult\Domains
  • Catapult\DomainsCollection
  • Catapult\DTMF
  • Catapult\DtmfCallEvent
  • Catapult\Endpoints
  • Catapult\EndpointsCollection
  • Catapult\EndpointsCredentials
  • Catapult\EndpointsMulti
  • Catapult\EndpointsToken
  • Catapult\Ensure
  • Catapult\EnsureResource
  • Catapult\ErrorCallEvent
  • Catapult\Event
  • Catapult\EventAssert
  • Catapult\EventCollection
  • Catapult\EventResource
  • Catapult\EventType
  • Catapult\FileHandler
  • Catapult\Gather
  • Catapult\GatherCallEvent
  • Catapult\GatherCollection
  • Catapult\GenericResource
  • Catapult\HangupCallEvent
  • Catapult\Id
  • Catapult\IncomingCallEvent
  • Catapult\LoadsResource
  • Catapult\Locator
  • Catapult\Log
  • Catapult\Media
  • Catapult\MediaCollection
  • Catapult\MediaURL
  • Catapult\Message
  • Catapult\MessageCollection
  • Catapult\MessageEvent
  • Catapult\MessageMulti
  • Catapult\MetaResource
  • Catapult\Multi
  • Catapult\NumberInfo
  • Catapult\Page
  • Catapult\Parameters
  • Catapult\PathResource
  • Catapult\PhoneCombo
  • Catapult\PhoneNumber
  • Catapult\PhoneNumbers
  • Catapult\PhoneNumbersCollection
  • Catapult\PlaybackCallEvent
  • Catapult\PrototypeUtility
  • Catapult\Recording
  • Catapult\RecordingCallEvent
  • Catapult\RecordingCollection
  • Catapult\RejectCallEvent
  • Catapult\RemoveResource
  • Catapult\Resolver
  • Catapult\ResolverResource
  • Catapult\RESTClient
  • Catapult\SchemaResource
  • Catapult\Sentence
  • Catapult\SIP
  • Catapult\SIPRealm
  • Catapult\Size
  • Catapult\SpeakCallEvent
  • Catapult\StringifyResource
  • Catapult\SubfunctionObject
  • Catapult\SubFunctionResource
  • Catapult\TextMessage
  • Catapult\Timeout
  • Catapult\TimeoutCallEvent
  • Catapult\TitleUtility
  • Catapult\Transaction
  • Catapult\TransactionCollection
  • Catapult\Transcription
  • Catapult\TranscriptionCallEvent
  • Catapult\TranscriptionCollection
  • Catapult\Types
  • Catapult\URIResource
  • Catapult\UserError
  • Catapult\UserErrorCollection
  • Catapult\VerifyResource
  • Catapult\Voice
  • Catapult\XMLUtility
  • CatapultApiWarning

Interfaces

  • Catapult\API
  • Catapult\API_MODE
  • Catapult\BAML_SETTINGS
  • Catapult\BAML_VERBS
  • Catapult\BAML_XML_HANDLERS
  • Catapult\BAML_XML_METHODS
  • Catapult\BAML_XML_OPTIONS
  • Catapult\CALL_ERROR
  • Catapult\CALL_STATES
  • Catapult\CONFERENCE_MEMBER_STATES
  • Catapult\CONFERENCE_SPEAK_STATES
  • Catapult\CONFERENCE_STATES
  • Catapult\DEFAULTS
  • Catapult\EXCEPTIONS
  • Catapult\GATHER_REASONS
  • Catapult\GATHER_STATES
  • Catapult\MESSAGE_DIRECTIONS
  • Catapult\MESSAGE_STATES
  • Catapult\NUMBER_STATES
  • Catapult\PATHS
  • Catapult\PLAYBACK_STATES
  • Catapult\RECORDING_STATES
  • Catapult\RECORDING_STATUSES
  • Catapult\SPEAK_STATES
  • Catapult\TRANSCRIPTION_STATES
  • Catapult\WARNINGS

Exceptions

  • CatapultApiException

Functions

  • includeDir
 1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 
<?php
namespace Catapult;

/**
 * Audio mixin support through Bandwidth.com
 * Catapult API. This should provide functions
 * to stop, start, and playing given audio
 * 
 *
 * All classes that supply: playAudio, stopAudio,
 * stopSentence, startSentence should inherit
 * this class.
 *
 * this needs to be refactored.
 */
abstract class AudioMixin extends GenericResource { 
  /**
   * Plays audio on the given
   * context provided a 'fileUrl'
   * in args. If not present. Throw
   * warning
   *
   * @param args [assoc array] (needs joinUrl)
   */
  public function playAudio(/* polymorphic */)
  {
    $args = Ensure::Input(func_get_args());
    $url = new URIResource($this->getAudioUrl());
    $data = $args->get(); 

    /** update add simplicity. playAudio('audioFile') = playAudio(array('audioFile' => 'audioFile')) **/
    if ($args->is_string()) {
      $data = array(
        "fileUrl" => $data
      );
    }

    $this->client->post((string) $url, $data);
  } 

  /**
   * Stops the audio
   *
   */
  public function stopAudio()
  {
    $url = new URIResource($this->getAudioUrl()); 
    $data = new DataPacket(array("fileUrl"=> ""));

    $this->client->post((string) $url, $data->get());
  }

  /**
   * Speak a sentence.
   * where voice in args has to be a 
   * valid voice
   * 
   * @param args [assoc array]
   */
  public function speakSentence($args /* polymorphic */)
  {
    $args = Ensure::Input($args);
    $url = new URIResource($this->getAudioUrl()); 
    $data = $args->get();

    $this->client->post((string) $url, $data);    
  }

  /**
   * Stops a sentence
   *
   */
  public function stopSentence()
  {
    $url = new URIResource($this->getAudioUrl());
    $data = new DataPacket(array("sentence" => ""));

    $this->client->post($url, $data->get());
  }

  /**
   * Defined in inherited classes.
   */
  public function getAudioUrl()
  { }
}
Bandwidth PHP SDK API documentation generated by ApiGen