TwiML™ Voice: <Play>
<Play>
動詞は、発信者に向けて音声ファイルを再生します。 Twilio はユーザーが指定した URL からファイルをダウンロードします。
動詞の属性
<Play>
動詞は次の属性をサポートします。これらを使って動作を変更します。
loop
The 'loop' attribute specifies how many times the audio file is played. The default behavior is to play the audio once. Specifying '0' will cause the <Play>
verb to loop until either the call is hung up or 1000 iterations are performed.
次のように使います。
digits
‘digits’ 属性は通話中にDTMFトーン(プッシュ音)送出を行います。
例えばIVRシステムのテスト時、この機能を使用してメニューオプションの選択を自動的に行うことができます。
w
を含めるとDTMFトーン間に0.5s
の一時停止を挿入します。 たとえば、1w2
は2番目のDTMFトーンの再生前に0.5秒の一時停止を行うようTwilioに指示します。 1秒の一時停止を含めるには、ww
としてください。
電話を掛け、内線に接続するためにDTMFトーンを送出するとき、sendDigits属性を使用する必要があります。
名詞
TwiML 動詞の名詞とは、動詞の中にネストされた、それ自身が動詞ではないものを指します。動詞が動作を行う対象です。 <Play>
の名詞は、次の通りです。
名詞 | 概要 |
---|---|
plain text | Twilio が発信者に向けて再生する音声ファイルの URL です。 |
<Play>
で取得する音声ファイルについて、Twilio では次の音声 MIME タイプをサポートしています。
MIME type | 概要 |
---|---|
audio/mpeg | MP3 オーディオ |
audio/wav | wav フォーマット |
audio/wave | wav フォーマット |
audio/x-wav | wav フォーマット |
audio/aiff | AIFF フォーマット |
audio/x-aifc | AIFF フォーマット |
audio/x-aiff | AIFF フォーマット |
audio/x-gsm | GSM フォーマット |
audio/gsm | GSM フォーマット |
audio/ulaw | μ-law フォーマット |
ネスティングルール
<Play>
の中に任意の動詞を入れ子にできます。 <Gather>
動詞の中に <Play>
を入れ子にできますがひとつ例外があります - <Gather>
の中でDTMFトーン ("digits") を再生することはできません。
サンプル
例 1: 再生する
この TwiML 文書では、cowbell.mp3 ファイルをダウンロードし、発信者に向けて 1 回再生します。
例 2: digitを使う
IVRメニューが正常に動作するか確認しています。最初に押す必要な番号の長さ、メニューで何番を押せば進めるかを知っている前提です。ポーズを入れるには 'w' を入れます。'w' は0.5秒間の待ちを発生させます。使用しているシステムのタイミングに合わせて'w' を挿入し調整できます。
Learn how to build a Natural Language IVR with <Autopilot>.
ヒントとテクニック
- Twilioは再生が行われるとオーディオファイルのキャッシュを試みます。一番最初のアクセス時はサーバーからのデータダウンロードに時間がかかるため、再生までに時間がかかります。Twilioはダウンロードが終了してから再生を開始します。
- HTTPヘッダーが許可している(EtagおよびLast-Modifiedヘッダー経由)場合、Twilioはファイルのキャッシュを行います。
Cache-Control: no-cache
を伴ったレスポンスを行うと、Twilioはファイルが変更されたかどうかを常に確認するようになり、ご使用のWebサーバーが新しいバージョンのファイルでレスポンスするか、それとも403 Not Modifiedを返してTwilioにキャッシュされたバージョンを使用させることができます。 - 電話網で再生されるオーディオは、電話網で使用できるフォーマットにトランスコードされます。 ユーザーが用意したファイルの音質にかかわらず、このトランスコードが行われます。 電話番号が高ビットレートの音声をサポートしていないために、音質が低下する場合があります。
- 128kbps の mp3 ファイルなど、高ビットレートやロスの多いエンコード形式のファイルは、トランスコードに時間がかかり、 8kbps のロスレス フォーマットのファイルよりも低音質になる場合があります。 これは、ロスの多い圧縮フォーマットからの変換や、高ビットレートから低ビットレートへの変換の処理で、必然的に劣化が生じるためです。
<Play>
再生時間が40分より長いファイルの再生は通話を切断します。 40分以上のファイルを<Play>
(再生)する必要がある場合は、より小さい部位への分割を検討してください。
ヘルプが必要ですか?
誰しもが一度は考える「コーディングって難しい」。そんな時は、お問い合わせフォームから質問してください。 または、Stack Overflow でTwilioタグのついた情報から欲しいものを探してみましょう。