SUPPORT.TWILIO.COM END OF LIFE NOTICE: This site, support.twilio.com, is scheduled to go End of Life on February 27, 2024. All Twilio Support content has been migrated to help.twilio.com, where you can continue to find helpful Support articles, API docs, and Twilio blog content, and escalate your issues to our Support team. We encourage you to update your bookmarks and begin using the new site today for all your Twilio Support needs.

Flexコールを着信したときにブラウザで着信音を鳴らす方法

本記事はオリジナルのヘルプ記事を翻訳したものになります。

Flexにて着信コールを受けた際、ブラウザで着信音を鳴らす最も良い方法は、reservationCreated eventを検知(Listen)し、オーディオを再生させる方法です。プラグインコードは以下のようになります。

let alertSound = new Audio("https://mysite.com/sounds/alert.mp3");
alertSound.loop = true;

const resStatus = ["accepted","canceled","rejected","rescinded","timeout"];

manager.workerClient.on("reservationCreated", function(reservation) {
  if (
reservation.task.taskChannelUniqueName === "voice" &&
reservation.task.attributes.direction === "inbound"
) {
alertSound.play();
} resStatus.forEach((e) => { reservation.on(e, () => { alertSound.pause() }); }); });

上記コードは、着信コールがFlex上でWokerに受電許可され応答されるまで、オーディオファイル※をリピートで再生します。(※: 本例ではalert.mp3)

このコードを実行するには、まず1行目用のオーディオファイルを用意し、またファイルのURLを書き換え後、コードをinit()関数に追加して下さい。ホストされたFlex Instanceへのコード追加については、こちらをご覧ください: Creating Plugins for Twilio Flex.

注意: オーディオファイルはTwilioのプロキシサーバからアクセス可能な必要があります。デスクトップ上のローカルファイルではこれらのメソッドは挙動しません。Twilio Assetsへオーディオファイルをアップロードしご利用頂くことも可能です。

ブラウザがどのオーディオデバイスを使っているか調べる方法

MediaDevices インターフェースのenumerateDevices()を利用することで、利用可能なオーディオ出力デバイス一覧をリクエストする事が可能です。

navigator.mediaDevices.enumerateDevices();

希望のデバイスIDを特定したら、HTMLMediaElement.setSinkId()により値を渡してください。

注意: これらのメソッドはChrome 49+ および Edge17+に対応しています。現時点では、その他のブラウザでの動作を保証するものではありません。

Have more questions? Submit a request
Powered by Zendesk