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

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

新規登録して質問してみよう
ただいま回答率
85.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はプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Q&A

解決済

1回答

2380閲覧

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

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はプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

0グッド

0クリップ

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

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jimbe

2021/08/17 16:14

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

2021/08/17 17:01

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

回答1

0

自己解決

とりあえず,もう一度設計を見直し,skywayを利用していくことにした.

投稿2021/08/18 05:12

Jhon_McClane

総合スコア48

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問