作業時間はたった約1時間!音声通話アプリをAgoraで作ってみた
ASCII.jp / 2022年10月29日 12時0分
音声通話アプリの実装
npm(Node.jsのパッケージ管理ツール)を使用するので、Node.jpの環境がない場合はNode.jp公式サイトからインストールしてください。
Agora公式のクイックスタートに従うと、「Vite」というビルドツールを使用します。ターミナルを開いて、以下のコマンドを実行します。
$ npm create vite@latest agora_project --template vanilla
すると、以下のような選択肢が表示されますが、いずれもデフォルトのものを選択します。
? Select a framework: › - Use arrow-keys. Return to submit. ❯ Vanilla Vue React Preact Lit Svelte
? Select a variant: › - Use arrow-keys. Return to submit. ❯ JavaScript TypeScript
以下のよう表示がされ、ディレクトリ内に「agora_project」というファイルが作成されていることを確認します。
Scaffolding project in /Users/XXXXXXXX/XXXXXXXX/agora_project...
その後、「agora_project」内に移動し、以下のコマンドを実行します。
$ npm install
続いて、以下のコマンドでVoice SDKをダウンロードして、インストールします。
$ npm i agora-rtc-sdk-ng
次に、「agora_project」内にある「index.html」と「main.js」を該当ページにあるように書き換えます。
https://docs.agora.io/en/voice-calling/get-started/get-started-sdk/#implement-a-client-for-
「main.js」は以下の部分に、Agoraの設定時にメモをした「App ID」「Channel Name」「Temp Token」を追記します。
let options = { // Pass your App ID here. appId: 'XXXXXXX'XXXXX'XXXXX'XXXXX', // Set the channel name. channel: 'XXXXX'XXXXX'', // Pass your temp token here. token: 'XXXXX'XXXXX'XXXXX'XXXXX'XXXXX'XXXXX'', // Set the user ID. uid: 0, };
通話テスト
まず、ngorkの公式サイトからアカウントを作成し、環境に合わせたバージョンをダウンロードして、「agora_project」内に解凍したファイル(ファイル名「ngrok.exe」)を移動させます。
![](https://ascii.jp/img/2022/10/02/3428455/x/f2beb20c658c4c2b.png)
「Your Authtoken」に移動し、「Authtoken」をコピーします。
![](https://ascii.jp/img/2022/10/02/3428451/x/7e38dccd6a4937ee.png)
ターミナルを開き、「agora_project」でローカルサーバーを立ち上げます。
$ npm run dev
以下のように表示されることを確認し、URLをメモします。
VITE v3.1.4 ready in 86 ms ➜ Local: http://127.0.0.1:5173/ ➜ Network: use --host to expose
次に別ウィンドウで、ターミナルを開き、「agora_project」のディレクトリに移動し、以下のコマンドでngrokを起動します。
$ ./ngrok http (ローカルサーバーのURL)
以下のように表示されれば、無事起動完了です!
ngrok by @inconshreveable (Ctrl+C to quit) Session Status online Account takakuwaranka (Plan: Free) Version 2.3.40 Region United States (us) Web Interface http://127.0.0.1:4040 Forwarding http://180f-240d-1a-aa-b000-8518-539b-1912-a4dd.ngrok.io -> http://127.0.0.1:5173 Forwarding https://180f-240d-1a-aa-b000-8518-539b-1912-a4dd.ngrok.io -> http://127.0.0.1:5173 Connections ttl opn rt1 rt5 p50 p90 21 0 0.00 0.00 5.75 99.25
「Forwarding」に記載されているURLにアクセスしてみます。「Join」を押すと、音声通話が始まります。
▼PC
![](https://ascii.jp/img/2022/10/02/3428450/x/6febbb89aa8f7c83.png)
▼スマホ
![](https://ascii.jp/img/2022/10/02/3428445/x/1038ff89bb8846bb.jpg)
どちらからもいい感じに声が聞こえることが確認できました!
まとめ
今回はAgora公式のクイックスタートに従って作成したので、作業時間自体も1時間ほどで簡単な音声通話アプリを作れました。通話機能と言うと、漠然とめちゃくちゃ大規模な開発が必要なイメージがありますが、APIを使用することでこんなにも簡単に作成ができてしまうことがわかりました(もちろん自前で実装するとなると、すごく大変そう)。
改めて自分で作成してみて、はやく「メンヘラせんぱい」にも通話機能を導入したいなという気持ちになりました!
高桑蘭佳(たかくわらんか)
![](https://ascii.jp/img/2020/03/09/3019707/x/0c075f21079a1578.jpg)
1994年生まれ。石川県出身。東京工業大学大学院環境社会理工学院研究生。2018年8月にメンヘラテクノロジーを設立。彼氏を束縛したくて起業した大学院生として「アウト×デラックス」(フジテレビ系列)や、「指原莉乃&ブラマヨの恋するサイテー男総選挙」(AbemaTV)などに出演。
この記事に関連するニュース
-
Windowsが今更(?)開発者に優しくなろうとしている!? 「Dev Home」は開発者にとって使い物になる?
ASCII.jp / 2024年6月23日 10時0分
-
「Firefox 127」を試す - OS起動時にFirefoxが自動起動する設定が可能に
マイナビニュース / 2024年6月12日 16時52分
-
【年収1,040万円】JavaScriptエンジニア2024年最新|フリーランス副業調査
PR TIMES / 2024年6月12日 11時15分
-
今後のWSL2はGUI管理が可能に - 阿久津良和のWindows Weekly Report
マイナビニュース / 2024年6月9日 16時0分
-
兵庫県、電話での児童相談の記録作成時間削減に向けた実証実験の成果を発表 AI音声認識ソリューション「AmiVoice(R) Communication Suite」を活用
PR TIMES / 2024年6月5日 15時45分
ランキング
-
1柴犬が必死でくわえようとするのはまさかの“一生無理”なヤツ 子どものような戦いに「激可愛すぎて永遠にリピート」
ねとらぼ / 2024年6月30日 7時0分
-
2様子見していたあのゲーム、今こそ買い時かも!特選Steamサマーセール「過去最安」編【Steamサマーセール2024年夏】
Game*Spark / 2024年6月30日 16時0分
-
3Windows 11、更新プログラム(KB5039302)により繰り返し再起動する問題発生
マイナビニュース / 2024年6月30日 17時16分
-
4なんだこれ……! “近未来すぎる砂時計”が話題に 「こういうのたまらん」
ねとらぼ / 2024年6月30日 12時0分
-
5「呪う気か」 ハードオフでジャンク品を発見→“まさかの販売風景”に恐怖 「買う猛者がいるのだろうか」
ねとらぼ / 2024年6月30日 9時0分
記事ミッション中・・・
記事にリアクションする
![](/pc/img/mission/mission_close_icon.png)
記事ミッション中・・・
記事にリアクションする
![](/pc/img/mission/point-loading.png)
エラーが発生しました
ページを再読み込みして
ください
![](/pc/img/mission/mission_close_icon.png)