2011-12-07 10 views
7

問題Androidのオーディオを使用する方法:あなたが聞いたことがあるかもしれませんがは、低レイテンシで

を、Androidのは、低レイテンシーのオーディオAPIで提供されていません。低レイテンシーのオーディオの意味は、マイクからオーディオ信号を取得し、その間に大きな時間差(例えば5〜7ms)を払わなくてはならないということです。

私は古いjavaを試しましたAudioRecordとAudioTrack)と「新しい」OpenSL ESを提供しています。彼らは恐ろしいし、アプリを使用できなくする。 The issue was well documented here.ところで、iOS APIは約5〜7 msのレイテンシを生成することができます。

回避策を探して:

しかし、私はとにかく低レイテンシーのオーディオをやろうとしています。 Something like this answer describes.

は「しかし、私は内部でのみ混合なかった私 自身のコードを書くことで十分これを達成することができただけで、最終的な混合出力を再生するための低レベル オーディオ再生APIにアクセスした。 高いです.Net Compact Frameworkのサウンドを再生するレベルの方法は、理論的にはポリフォニーが可能な ですが、実際には恐ろしいことに (多くの不具合、吃音や歪み)が働いています。

これはAndroidで意味がありますか? An answer is discouraging.

私の質問です。 Androidで10ミリ秒のオーディオ待ち時間を達成する方法はありませんか?

正直言って、私はすぐに解決策を期待していませんが、ただ一つの大きな心がこの問題に答えてくれることを願っています。

答えて

3

オペレーティングシステムを変更せずにAndroidデバイスで低レイテンシーのオーディオを取得する方法は現在ありません。また、ハードウェアの実装から多くの遅延が発生する可能性があります。これは、Linuxカーネルが15秒間のオーディオ待ち時間が非常に多く、ARMハードウェアがまともなレイテンシを持つことができるため、悲しいことです。私はカスタムを持っていたLinux build running on an old Palm TXそしてそれはかなりまともなレイテンシを持っていた。

4

アンドロイド4.1+には待ち時間が10ms未満の低遅延オーディオAPIがあります。値はハードウェアによって異なります(豊富な多様なアンドロイドの世界へようこそ)。

"android.hardware.audio.low_latency"の機能記述子も、低レイテンシサポートが欠けているフィルタアウトデバイスに使用できます。

チェックアウトhttp://www.youtube.com/watch?v=Yc8YrVc47TI&feature=player_de%20tailpage#t=1366s

と、この:http://createdigitalmusic.com/2012/07/android-high-performance-audio-in-4-1-and-what-it-means-plus-libpd-goodness-today/

3

アンドロイド6つの約束で、我々は< 10msの一方通行を意味することを期待することができます< 20msの往復時間を、開始android.hardware.audio.proの特徴をフォローアップとして。

関連する問題