Мне нужно получить транскрипцию записи, сделанной с помощью глагола Record Twiml, но я не могу заставить ее работать.
Вот что я попробовал:
1. call.php
<Response>
<Record maxLength="5" transcribe="true" action="getTranscription.php" />
</Response>
2. getTranscription.php
<Response>
<Say>Here's your audio recording transcription: <?php echo $_REQUEST['TranscriptionText']; ?></Say>
</Response>
У меня нет проблем с записью голоса и воспроизведением со следующим кодом:
1. call.php
<Response>
<Record action="getRecording.php" />
</Response>
2. getRecording.php
<Response>
<Say language="fr-CA">Here's your audio recording.</Say>
<Play><?php echo $_REQUEST['RecordingUrl']; ?></Play>
</Response>
Было бы очень признательно, если бы вы, ребята, могли бы дать мне несколько советов о том, как вернуть транскрипцию. Большое спасибо!
Twilio разработчик евангелист здесь.
Транскрипция записи выполняется асинхронно с вызовом, поэтому вы не получите результат, когда получите веб-крючок для action
URL.
Итак, вам необходимо предоставить transcribeCallback
атрибут тоже.
<Response>
<Record maxLength="5" transcribe="true" action="getRecordResult.php" transcribeCallback="getTranscription.php" />
</Response>
Нет гарантии, сколько времени займет транскрипция, поэтому трудно воспроизвести транскрипцию обратно вызывающей стороне. Лучше использовать transcribeCallback
URL для сохранения транскрипции вместе с записью звонка.
Если вы пытаетесь управлять вызовом на основе расшифровки слов вызывающего абонента, используйте <Record>
и транскрипции не рекомендуется. Вместо этого я рекомендую вам проверить с помощью <Gather>
с input="speech"
. Это даст вам живую голосовую транскрипцию в разговоре.
Дайте мне знать, если это поможет.
Других решений пока нет …