2017-02-21 14 views
0

Это конференц-линия, которая начинается, когда модератор присоединяется.Как мне сделать этот код сказать «Пожалуйста, держись» и сыграть пользовательский mp3?

Это прекрасно работает, но я не могу понять, как заставить его сказать: «Пожалуйста, держитесь, вы скоро будете связаны». для всех абонентов.

Я также хочу воспроизвести пользовательский mp3-файл для музыки.

<?php 
// Get the PHP helper library from twilio.com/docs/php/install 

// this line loads the library 
require_once '/var/www/one/conference/twilio/Twilio/autoload.php'; 
use Twilio\Twiml; 

// Update with your own phone number in E.164 format 
$MODERATOR = '+1347999999'; 

$response = new Twiml; 

// Start with a <Dial> verb 

$dial = $response->dial(); 

// If the caller is our MODERATOR, then start the conference when they 
// join and end the conference when they leave 
if ($_REQUEST['From'] == $MODERATOR) { 
$dial->conference('My conference', array(
      'startConferenceOnEnter' => True, 
      'endConferenceOnExit' => True, 
      'beep' => True, 
      'record' => True 

      )); 

} else { 
// Otherwise have the caller join as a regular participant 
$dial->conference('My conference', array(
      'startConferenceOnEnter' => False 
      )); 
} 

print $response; 

?> 

ответ

0

Twilio разработчик евангелист здесь.

Для того чтобы получить сообщение в начале разговора, вам необходимо использовать TwiML <Say> verb, прежде чем использовать <Dial>.

Чтобы воспроизвести пользовательскую музыку до начала конференции, вы должны использовать waitUrl attribute в теге <Conference>. waitUrl - это URL-адрес, который указывает на файл MP3 или Wav или что-то, что возвращает TwiML, который может содержать несколько слов <Say> или <Play>.

Вот обновление кода, который включает в себя сообщение в начале и waitUrl для музыки (в частности, модератор не нужен waitUrl, как они начинают конференцию):

// Get the PHP helper library from twilio.com/docs/php/install 

// this line loads the library 
require_once '/var/www/one/conference/twilio/Twilio/autoload.php'; 
use Twilio\Twiml; 

// Update with your own phone number in E.164 format 
$MODERATOR = '+1347999999'; 

$response = new Twiml; 

// Start with a welcome message 
$response->say("Please hold, you'll be connected shortly."); 

// Then add the <Dial> verb 
$dial = $response->dial(); 

// If the caller is our MODERATOR, then start the conference when they 
// join and end the conference when they leave 
if ($_REQUEST['From'] == $MODERATOR) { 
$dial->conference('My conference', array(
      'startConferenceOnEnter' => True, 
      'endConferenceOnExit' => True, 
      'beep' => True, 
      'record' => True 
      )); 

} else { 
// Otherwise have the caller join as a regular participant 
$dial->conference('My conference', array(
      'startConferenceOnEnter' => False, 
      'waitUrl' => 'http://twimlets.com/holdmusic?Bucket=com.twilio.music.classical' 
      )); 
} 

print $response; 

Позвольте мне знать если это вообще помогает.

+0

Спасибо @philnash Я поставил в неправильном месте под циферблатом, сейчас говорят, но мой пользовательский mp3 waitUrl по-прежнему не работает. Я помещаю его в том же месте, что и выше, как этот «waitUrl» => «https://www.website.com/Vivaldi-Andante.mp3», но он не работает. – user2001109

+0

Просто мысль, может быть, мой пользовательский waitUrl не работал, потому что я был на моем идентификаторе вызывающего лица модератора - я попробую другой номер позже. Еще раз спасибо @philnash - просто получить работу говорит огромная помощь! – user2001109

+0

Хорошо, я протестировал мой немодератор, и я получил желаемый Вивальди! Ответ работает отлично. – user2001109