クイックスタート|Tropo Web API

通話者入力の録音

   

このクイックスタートは電話にでるの小項目である通話録音に似ていますが、 任意のパラメータとrecordメソッドの機能に関してより踏み込んでいます。 このクイックスタートを読む前にまず、そのページを読むことを推奨します。

以下の例は、かなり包括的で、いくつかの任意選択のパラメータを含んでいます。 これらを順を追って説明していきます。

  • name - 操作(askなど)の結果を識別するのに使われるキーのことです。これを使うことで多数の結果を区別することができます。
  • timeout - プロンプトを送信、または再生した後に、Tropoがユーザの応答開始を待つ時間のことで、秒単位で表わされます。
  • maxSilence - 発信者が話してから、ユーザーの反応がなされたとみなされるまでの時間の長さです。
  • maxTime - 録音の最大許容時間のことです。
  • choices/terminator - 録音を終了させるために押すキーを定義します。
  • format - 録音用のオーディオ形式を定義します。 'audio/wav' あるいは 'audio/mp3'が選択可能です。 デフォルト設定で、ファイルは拡張子となります。この例は、デフォルトを上書きし、mp3として定義します。
  • url - は録音が送信される場所を定義します。 次の例は、FTPを使用しているので、 URL内のファイル名を定義し、さらに、次の2つのフィールドを定義する必要があります。
  • username - あなたのFTPユーザ名です
  • password - あなたのFTPパスワードです
 
require 'tropo-webapi-ruby'
require 'sinatra'

post '/record.json' do
  
  t = Tropo::Generator.new
  
  t.record({ :name => 'recording',
             :timeout => 10,
             :maxSilence => 7,
             :maxTime => 60,
             :format => "audio/mp3",
             :url => 'ftp://example.com/filename.mp3',
             :username => "tropocloud",
             :password => "password", 
             :choices => { :terminator => "#"}
             }) do
                  say :value => 'メッセージをどうぞ。'
              end
  t.response
  
end

var http = require('http');
var tropo_webapi = require('tropo-webapi');

var server = http.createServer(function (request, response) {

    var tropo = new TropoWebAPI();
    
    var say = new Say("メッセージをどうぞ。");
    var choices = new Choices(null, null, "#");

    //function(attempts, bargein, beep, choices, format, maxSilence, maxTime, method, minConfidence, name, required, say, timeout, transcription, url, password, username)
    tropo.record(null, null, null, choices, "audio/mp3", 7, 60, null, null, "recording", null, say, 10, null, "ftp://example.com/filename.mp3", "password", "tropocloud");
    
    response.end(TropoJSON(tropo));

}).listen(8000); 

<?php

require('tropo.class');

$tropo = new Tropo();
 
$tropo->record(array(
    'name' => 'recording',
    'say' => 'メッセージをどうぞ。',
    'url' => 'ftp://example.com/filename.mp3',
    'terminator' => '#',
    'timeout' => 10,
    'maxSilence' => 7,
    'maxTime' => 60,
    'format' => 'audio/mp3',
    'username' => 'tropocloud',
    'password' => 'password'
  ));
 
$tropo->RenderJson();
?>
from itty import *
from tropo import Tropo

@post('/index.json')
def index(request):

    t = Tropo()

    t.record(name = "recording", timeout = 10, maxSilence = 7, maxTime = 60, format = "audio/mp3", choices = {"terminator": "#"} , say = "メッセージをどうぞ。", url = "ftp://example.com/filename.mp3", username = "tropocloud", password = "password")
    
    return t.RenderJson()

run_itty(server='wsgiref', host='0.0.0.0', port=8888)


{
   "tropo":[
      {
         "record":{
            "say":{
               "value":"メッセージをどうぞ。"
            },
            "name":"foo",
            "timeout":10,
            "maxSilence":7,
            "maxTime":60,
            "format":"audio/mp3",
            "url":"ftp://example.com/filename.mp3",
            "username":"tropocloud",
            "password":"password",
            "choices":{
               "terminator":"#"
            }
         }
      }
   ]
}
 

この例は、ユーザの応答をプロンプトに録音するだけです。 ; もしそれ以上、例えば、プロンプトと応答の両方を録音したいなら、startCallRecordingと代わりに stopCallRecordingを使うことになります。次でそれを説明します。