「Twilioを使って電話Webアプリケーションを構築しよう」の第 9 回目の記事は、通話音声を録音したファイルを取得し、Webサーバーに保存します。
方法
- 第8回目で作成した「twilio_call_end.php」を開き、下記のコードを追記しましょう。
// 通話音声を保存し削除する $url = $_POST["RecordingUrl"]; $path = './twilio_record_file.mp3'; // 1分を超えるとタイムアウトとなります。 curl_setopt($ch, CURLOPT_TIMEOUT, 60); // fopenでファイルポインタを開いてから、curlのCURLOPT_FILEオプションを使い、 // 対象ファイルを保存します。PHPのメモリリミットに関係せず、 // ファイルを保存することができるようになります。 $fp = fopen($path, 'w'); $ch = curl_init($url.'mp3'); curl_setopt($ch, CURLOPT_FILE, $fp); // curlレスポンスを取得 $data = curl_exec($ch); curl_close($ch); fclose($fp); // 音声ファイル保存後、Twilioに保存しているファイルを削除する $record_id = preg_split('[/]', $url); $client->account->recordings->delete($record_id[7]);
$_POST["RecordingUrl"] より、音声ファイルのURLを取得します。
$path = にファイルの保存先を指定します。
次にfopenとcurlを使い、ダウンロードしながらmp3ファイルへ保存します。
ファイル作成後、REST APIを使い、クラウド上に保存している音声ファイルを削除しています。
[特集] Twilioを使って電話Webアプリケーションを構築しよう
ソースコード
ソースコードは、GitHubに公開いたしました。
関連タグ: