こんにちは、Overflowing Stack の賢者、Android noob です。
私は CSipSimple を使用しており、生の pcm データを処理できるように、通話音声を 1 秒の音声データのチャンクで別のアプリにストリーミングしたいと考えています。CSipSimple でオーディオを処理するコードはネイティブであるため、コールバック Java ではなくネイティブ アプローチを使用することを好みます。私はそうするいくつかの方法を考えました:
- オーディオ ストリーミングを使用して、他のアプリに取得させます。
- データをファイルに書き込み、他のアプリに読み取らせます。
- 他のアプリケーションでのサービスの呼び出し (AIDL)
- インテントの使用。
これらは私のジレマにつながる考慮事項です: ストリーミングは自然な選択のように見えますが、オーディオ ストリームから生の pcm データを取得するための Android サポートを見つけることができませんでした。インテント メカニズムは柔軟で便利ですが、それが目的だとは思いません。ファイルの使用は面倒に思えますが、十分にサポートされています。最後に、サービスを使用することは良い選択肢のように思えますが、柔軟性が低く、エラー処理とスレッド管理が必要になる可能性があります。
最良の代替案を指摘できますか?他にもありましたらシェアしていただけると嬉しいです..