web-dev-qa-db-ja.com

Android 4.0 ICS

私は、コールストリームの変更から大きな恩恵を受けるプロジェクトに取り組んできました。ほとんどの人は、通話中のオーディオのハードウェアループがデバイスのメインMCUから完全に切断されていると信じているため、これは繰り返し達成不可能であると言われています。

Android の電話に音声をストリーミングするなどの質問には、音声にアクセスできないという回答が寄せられています。これはAndroid APIからは絶対に不可能であることに同意しますが、ハードウェアが実際に完全に切断されているかどうかは完全に不明です。

Stackoverflowユーザーの「artsylar」は、Android OSの「フレームワークレイヤー」を変更して、録音されたオーディオを通話ストリームに挿入できると述べました。これは大きな前進です( 進行中の通話でオーディオクリップを再生します 、選択した回答に対するartsylarのコメント)artsylarの成功が有効であると仮定すると、フレームワークを変更することで通話ストリームの音声を制御する方法が確実にあります(私はAndroidソース)のテレフォニーベースフレームワーク。

基本的に、アプリケーション層からコールストリームを変更または制御することは不可能であることに完全に同意します。ただし、フレームワークまたは無線インターフェイスレイヤーでAndroid OSをカスタマイズすることに興味があります。artsylarは成功したようですが、オープンリテラチャーではその方法についての説明はありません。 Androidテクノロジー、コアを変更することで通話音声の制御が可能かどうかを実際に確認するために、上記を明確にすることができますかAndroid OS、およびこの目標を達成するための適切なパス?

この問題に関する最終的な説明は、オープンソースコミュニティにとって非常に価値があると思います。

ありがとう!

27
sandman

一部のプラットフォーム(クアルコムのMSM8960やAPQ8064など)では、音声通話のアップリンクに音声を注入することが技術的に可能です。サポートは、ハードウェアレベルとデバイスドライバーレベルで存在します。ただし、その機能を通常のアプリケーションで使用できるようにするには、カスタムAndroid ROMを作成して、必要なすべてのユーザースペースパーツを追加する必要があります。 AndroidのJavaレイヤーとネイティブレイヤーの両方。

つまり、簡単な答えは次のとおりです。いいえ、アプリ開発者としてこれを行う標準的な方法はありません(SDKとNDKのどちらを使用するかは関係ありません)。
OEMで働いている場合、またはその他の方法で独自のAndroid ROMを構築およびフラッシュできる場合は、プラットフォームベンダーに問い合わせることで必要な情報を入手できます。 。

11
Michael

Android OS内でのLinuxKernalの処理に関連しているため、これを行うのは非常に困難です。

APIがサポートされていないだけでなく、セキュリティの問題もサポートされていません。

ソフトウェアエンジニアリング分野、特にプログラマーの専門家である私たちは、発明で誰かが成功したとは決して想定していません。関連するプロジェクトは、プロジェクトがテストされるまで有効です。

また、通話中に音声をストリーミングすると、スマートフォンユーザーとテレフォニーのサービスプロバイダーの間でプライバシーとセキュリティの問題が発生する可能性があります

5
Raju yourPepe