WebTelephony API と WebSMS API – WebAPI の一部
原文: WebTelephony API and WebSMS API – Part of WebAPI (on March 1, 2012 by Robert Nyman)
以前、Mozilla’s Boot to Gecko – The Web is the Platform と Gaia, Mozilla’s user interface for Boot to Gecko で議論され明らかになったように、Web はとてもパワフルなプラットフォームになりつつあります! そこで、私たちの WebAPI イニシアチブから、WebTelephony と WebSMS の 2 つのエキサイティングな API を紹介したいと思います。
WebTelephony
基本的な電話機能へのアクセスは、単純に navigator.mozTelephony
を通して行うだけです。このオブジェクトへの参照を取得すれば、電話をかけたり受けたりできるようになります。以下は簡単なコード例です:
// Telephony オブジェクト var tel = navigator.mozTelephony; // 電話がミュートになっていないか確認 (read/write プロパティ) console.log(tel.muted); // スピーカが有効か確認 (read/write プロパティ) console.log(tel.speakerEnabled); // 電話をかける var call = tel.dial("123456789"); // 通話のためのイベント call.onstatechange = function (event) { /* 状態に使われる値: "dialing", "ringing", "busy", "connecting", "connected", "disconnecting", "disconnected", "incoming" */ console.log(event.state); }; // 上記のイベントに対応する関数 call.onconnected = function () { // 通話が接続された }; call.ondisconnected = function () { // 通話が切断された }; // 呼び出しを受ける tel.onincoming = function (event) { var incomingCall = event.call; // 呼び出し回数 console.log(incomingCall.number); // 呼び出しへの応答 incomingCall.answer(); }; // 通話を切断する call.hangUp(); // 呼び出しを繰り返し、状態の変更に応じた動作を行う tel.oncallschanged = function (event) { tel.calls.forEach(function (call) { // Log the state of each call console.log(call.state); }); };
Telephony は、Gaia の dialer と ホーム画面から利用可能です。
WebSMS
携帯電話のもう一つの中心的な機能は、SMS メッセージの送受信です。以下のコードでどのように行うかを示します:
// SMS オブジェクト var sms = navigator.mozSMS; // メッセージ送信 sms.send("123456789", "Hello world!"); // メッセージ受信 sms.onrecieved = function (event) { // メッセージを読む console.log(event.message); };
ハックと貢献
これらの API とその内部の動作の探求に興味がある方は、Mozilla の Boot to Gecko のユーザインターフェース (Gaia) を調べることをお勧めします。Gaia に含まれる dialer.js ファイルと sms.js ファイルを調べてください。
また、Web 技術のスキルをスマートフォンの開発やカスタマイズのために役立てたい方は、遠慮せずに Gaia の開発に協力してください!