質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

WebRTC

WebRTC(Web Real-Time Communication)とは、プラグイン無しでウェブブラウザ間の音声通話・ビデオチャットなどリアルタイムコミュニケーションができるオープンフレームワークです。W3CがAPIレベルで、IETFがプロトコルレベルでそれぞれ標準化が進められています。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

解決済

Android端末間で,複数人とP2Pによる音声通話・会議を実現したい

Jhon_McClane
Jhon_McClane

総合スコア48

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

WebRTC

WebRTC(Web Real-Time Communication)とは、プラグイン無しでウェブブラウザ間の音声通話・ビデオチャットなどリアルタイムコミュニケーションができるオープンフレームワークです。W3CがAPIレベルで、IETFがプロトコルレベルでそれぞれ標準化が進められています。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

1回答

0評価

0クリップ

671閲覧

投稿2021/08/17 15:26

編集2021/08/17 16:52

前提・実現したいこと

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での実装を考えています.

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

jimbe

2021/08/17 16:14

要件定義の調査依頼のように見えますが…。
Jhon_McClane

2021/08/17 17:01

jimbe様 コメントありがとうございます. 確かに,そんなところではあるのですが... この分野に関する幅広い知識を持っている方、この機能を使用するアプリケーションに長年取り組んできた方々がいらっしゃれば,何かご意見をいただきたいと思い質問いたしました.

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

WebRTC

WebRTC(Web Real-Time Communication)とは、プラグイン無しでウェブブラウザ間の音声通話・ビデオチャットなどリアルタイムコミュニケーションができるオープンフレームワークです。W3CがAPIレベルで、IETFがプロトコルレベルでそれぞれ標準化が進められています。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。