前提・実現したいこと
androidで,複数人がグループを組んで,グループメンバーとP2Pによる音声通話・会議の開発をしたいと考えています.(VoIP, softphone)
会議と書きましたが,音声が聞こえれば良く,ビデオは入りません.複数人のグループ会話が出来る状況にしたいです.
通話実装に関して,全くの初心者なため,開発をする上でのヒントをご教授いただきたいです.
開発していく上でのツールとして,何を使っていけば良いか判断がつかないため,質問しました.
まず,具体的に実現したいこと,現状を述べます。
- 実現したいこと
zoomのように,ルームに入ったら音声通信が開始される状態である.
つまり,発信・着信といった機能を介さず,ルーム入出後,会話が聞こえる状態にし,話者はミュートを外すことで全体(または一部相手)に音声を伝達できるようにしたい.
音声の受信側は,いつでも発話者の音声を受信でき,
音声の送信側は,全員に対して音声を送信したり,特定の相手(選択した相手)に向けて音声を送信するアプリの開発を目指す.
- 現状
独自に実装したSTANサーバとSignalingサーバを持っています.
現段階で,実機同士(2台の端末間)での通信が実現できています.
P2P通信を開始する準備段階までできているため,音声を送受信するためのサポートを知りたいです.
これらを踏まえて,何を頼りに開発を進めていけば良いでしょうか.どんなサービスを利用すると実現できそうか.
調べてもあまり出てこなく(日本語サイト),参考になるようなモノがないため,何かヒントになるようなサービスや記事があれば教えていただきたいです.
調べたこと
- セッション開始プロトコル(SIP)をサポートする API(android公式)
https://developer.android.com/guide/topics/connectivity/sip?hl=ja
しかし,通話の発信や着信処理が必要と思われるため,zoomのような自分がイメージするアプリにはならないような気がしている.(勘違いかも知れない)
公式ドキュメントには,SIP API を使用するアプリケーションの種類として「ビデオ会議」とあるため,できるのかも?と思っていたり...
- SkyWay
自前で実装したSTANサーバとSignalingサーバなどがあるため,現時点では利用を考えていない.(以下のことができるなら,ありかも)
Peer間で位置情報などの情報を共有したり,位置情報から近隣の端末とグループを組むことを考えているため,そういった処理をSkyWayでもできる場合は,SkyWayが一番簡単にできるのではないかと考えている.
- CSipSimple and SIPDroid
https://stackoverflow.com/questions/38216410/group-voip-calling-in-android
この方の質問5の回答として,CSipSimple and SIPDroidが紹介されていたが,グループ通話などを作れるのか迄は見極めができっていない.
- Telecom フレームワークの概要(android公式)
https://developer.android.com/guide/topics/connectivity/telecom?hl=ja
https://developer.android.com/guide/topics/connectivity/telecom/selfManaged?hl=ja
あまり詳しく読み込んでいないが,自分が実現したいモノとは異なる気がする.1対1の電話を実装すると解釈した.
その他
javaでの実装を考えています.
回答1件
あなたの回答
tips
プレビュー