28

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

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

stackoverflow ユーザーの「artsylar」は、Android OS の「フレームワーク レイヤー」を変更して、録音された音声を呼び出しストリームに挿入できるようになったと述べています。選択した回答)。artsylar の成功が有効であると仮定すると、フレームワークを変更することでコール ストリーム オーディオを制御する方法が間違いなく存在します (Android ソースのテレフォニー ベース フレームワークを想定しています)。

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

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

ありがとう!

4

2 に答える 2

11

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

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

于 2013-02-10T21:02:21.543 に答える
5

Android OS 内の Linux Kernal の処理に関係するため、これを行うのは非常に困難です。

API のサポートがないだけでなく、セキュリティ上の問題からそうすることが許されていません。

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

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

于 2012-09-29T01:29:25.390 に答える