第6回 Twilioで発信者の音声を録音してみる

スポンサーリンク

今回はtwilioで音声を録音するシステムを作ってみます。

目的

発信者の音声を録音

開発

今回は下記2ファイルを使ってシステムを構築してみました。

  • record.xml
  • playRecordFile.php

record.xmlは、発信者の音声を録音するファイルです。TwiMLを使って命令を出していきます。

playRecordFile.phpは、実際に録音されたファイルを再生するファイルです。PHPで書いていきます。

record.xml

<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Say language="ja-JP">録音を開始します。録音後、シャープを押してください。</Say>
<Record timeout="60" maxLength="30" finishOnKey="#" action="http://exaple.com/playRecordFile.php" />
</Response>

1行目の

<?xml version="1.0" encoding="UTF-8"?>

は、xml宣言文と言われる一行。以降の文章構造はxmlで書いていきますよと宣言している。

2行目と7行目にある

<Response>
</Response>

は、TwiMLのルート要素。命令動詞は必ずこのResponseをネストするように記述していく必要がある。

3〜4行目の部分が命令動詞。

3行目の Say で発信者に対して「録音を開始します。録音後、シャープを押してください。」と読み上げる命令を出している。
4行目の Record で実際に発信者の音声を録音する命令を出している。

<Say language="ja-JP">録音を開始します。録音後、シャープを押してください。</Say>
<Record timeout="60" maxLength="30" finishOnKey="#" action="http://exaple.com/playRecordFile.php" />

record.xmlファイルの記述が完了したら、サーバにアップロード。
後は、twilio番号とrecord.xmlとのひも付けを行う。
ひも付け方法はこちら
※それぞれの環境にあわせてURLの入力を変更する必要があります。

playRecordFile.php

<?php
header("Content-Type: text/xml");
// 録音ファイルURLの取得
$recordingUrl = $_POST['RecordingUrl'];
?>
<Response>
<Say language="ja-JP">音声ファイルを再生します。</Say>
<Play><?php echo $recordingUrl;?></Play>
</Response>

PHPで録音データURLを受け取り、TwiMLで録音データを再生するようにxmlで記述していきます。
受け取った録音データURLを Play という命令動詞を使って再生していきます。

一通りのセッティングが完了したらtwilio番号にコール。

参考文献

Record動詞の概要:https://jp.twilio.com/docs/api/twiml/record
・通話の録音機能で、音声による記録を簡単に実現(Record):https://www.youtube.com/watch?v=mlr2VKQCMy4

スポンサーリンク
スポンサーリンク
スポンサーリンク

フォローする

スポンサーリンク
スポンサーリンク