PATH:
home
/
lab2454c
/
.trash
/
core
/
vendor
/
vonage
/
client-core
/
src
/
Voice
/
NCCO
/
Action
<?php /** * Vonage Client Library for PHP * * @copyright Copyright (c) 2016-2020 Vonage, Inc. (http://vonage.com) * @license https://github.com/Vonage/vonage-php-sdk-core/blob/master/LICENSE.txt Apache License 2.0 */ declare(strict_types=1); namespace Vonage\Voice\NCCO\Action; use function array_key_exists; use function filter_var; use function is_null; class Talk implements ActionInterface { /** * @var bool */ protected $bargeIn; /** * @var string */ protected $language; /** * @var int */ protected $languageStyle = 0; /** * @var float */ protected $level; /** * @var int */ protected $loop; /** * @var string */ protected $text; /** * @var string * @deprecated Use $language and $languageStyle */ protected $voiceName; public function __construct(string $text = null) { $this->text = $text; } /** * @param array{text: string, bargeIn?: bool, level?: float, loop?: int, voiceName?: string} $data */ public static function factory(string $text, array $data) : Talk { $talk = new Talk($text); if (array_key_exists('bargeIn', $data)) { $talk->setBargeIn( filter_var($data['bargeIn'], FILTER_VALIDATE_BOOLEAN, ['flags' => FILTER_NULL_ON_FAILURE]) ); } if (array_key_exists('level', $data)) { $talk->setLevel( filter_var($data['level'], FILTER_VALIDATE_FLOAT, ['flags' => FILTER_NULL_ON_FAILURE]) ); } if (array_key_exists('loop', $data)) { $talk->setLoop( filter_var($data['loop'], FILTER_VALIDATE_INT, ['flags' => FILTER_NULL_ON_FAILURE]) ); } if (array_key_exists('voiceName', $data)) { $talk->setVoiceName($data['voiceName']); } if (array_key_exists('language', $data)) { if (array_key_exists('style', $data)) { $talk->setLanguage($data['language'], (int) $data['style']); } else { $talk->setLanguage($data['language']); } } return $talk; } public function getBargeIn() : ?bool { return $this->bargeIn; } public function getLevel() : ?float { return $this->level; } public function getLoop() : ?int { return $this->loop; } public function getText() : string { return $this->text; } /** * @deprecated use getLanguage() and getLanguageStyle() instead */ public function getVoiceName() : ?string { return $this->voiceName; } /** * @return array{action: string, bargeIn: bool, level: float, loop: int, text: string, voiceName: string} */ public function jsonSerialize() : array { return $this->toNCCOArray(); } /** * @return $this */ public function setBargeIn(bool $value) : self { $this->bargeIn = $value; return $this; } /** * @return $this */ public function setLevel(float $level) : self { $this->level = $level; return $this; } /** * @return $this */ public function setLoop(int $times) : self { $this->loop = $times; return $this; } /** * @deprecated Use setLanguage() * @return $this */ public function setVoiceName(string $name) : self { trigger_error( 'Voice Name is deprecated, please use setLanguage()', E_USER_DEPRECATED ); if ($this->getLanguage()) { trigger_error( 'Language already set. Please use only Language or Voice Name', E_USER_WARNING ); } $this->voiceName = $name; return $this; } /** * @return array{action: string, bargeIn: bool, level: string, loop: string, text: string, voiceName: string, language: string, style: string} */ public function toNCCOArray() : array { $data = [ 'action' => 'talk', 'text' => $this->getText(), ]; if (!is_null($this->getBargeIn())) { $data['bargeIn'] = $this->getBargeIn() ? 'true' : 'false'; } if (!is_null($this->getLevel())) { $data['level'] = (string)$this->getLevel(); } if (!is_null($this->getLoop())) { $data['loop'] = (string)$this->getLoop(); } if ($this->getVoiceName()) { $data['voiceName'] = $this->getVoiceName(); } if ($this->getLanguage()) { $data['language'] = $this->getLanguage(); $data['style'] = (string) $this->getLanguageStyle(); } return $data; } public function setLanguage(string $language, int $style = 0) : self { if ($this->getVoiceName()) { trigger_error( 'Voice Name already set. Please use only Language or Voice Name', E_USER_WARNING ); } $this->language = $language; $this->languageStyle = $style; return $this; } public function getLanguage() : ?string { return $this->language; } public function getLanguageStyle() : int { return $this->languageStyle; } }
[-] Record.php
[edit]
[-] Input.php
[edit]
[+]
..
[-] Connect.php
[edit]
[-] Stream.php
[edit]
[-] ActionInterface.php
[edit]
[-] Conversation.php
[edit]
[-] Notify.php
[edit]
[-] Talk.php
[edit]