30

Android 用に OpenAL を構築した人や、システム上でその共有ライブラリを見つけた人はいますか? これは、あらゆる種類のゲームの明らかな必要性のように思えますが、そのためのリソースはありません. どうやら Android の Java サウンド ライブラリではピッチの変更ができないようで、OpenAL が必要なようです。OpenAL Soft が ALSA の上に構築できることは知っていますが、誰かがそれを行ったかどうかはわかりませんし、1 か月かかることは間違いありません。

OpenAL を使用しない Android でのサウンド操作に関する適切なガイドがどこかにあれば、それも問題ありません。ただ、OpenAL はゲーム メーカーにとって一種の標準であり、私の何千もの行をこのシステムに移植できればいいのですが、それを掘り下げる前に NDK の要点だと思っていたのですが、ほとんど何もないことがわかりました。システム上の共有ライブラリ アクセス。

ありがとう.. Java の専門家になることなく、実際に移植できることを願っています。これまでのところ、NDKが本当に嫌いです!

4

4 に答える 4

35

現在、NDKオーディオでいくつかのオプションを利用できます。

  1. OpenALではありませんが、OpenSL ES 1.0.1はAPIレベル9(2.3)の時点でNDKの公式部分です。詳細はこちら

  2. OpenALSoftのgitマスターにはOpenSLESバックエンドがあります(バージョン1.13ではリリースされていません)。ただし、Androidでは1.0.1ではなくOpenSL ES 1.1用に記述されているため、現時点では壊れています。修正については、このコミットを参照してください。

  3. 前の回答で述べたように、OpenAL SoftのJNIバックエンドは、2.3より前のAndroidプラットフォームでのOpenALの唯一のオプションとしてリンクされ、ここで説明されています。ただし、これはOpenALSoftの古いフォークです。OpenSLES1.0.1の修正とともに、ここでgithubリポジトリのバックエンドを最新バージョンに更新しました。また、より優れたパフォーマンスとより少ないレイテンシーを提供すると主張する、テストされていないオプションのパッチも含まれています。

于 2011-09-21T20:20:21.650 に答える
8

Android 2.3 に 3D オーディオが含まれると Google が発表する直前に、私は Android 用の OpenAL をコンパイルし、それを共有オブジェクトとしてパッケージ化することに成功しました。

http://pielot.org/2010/12/14/openal-on-android/を参照してください。

2.3 未満のデバイスをターゲットにしたい場合は、まだ役立つかもしれません。

乾杯。

于 2010-12-16T19:42:04.917 に答える
5

OpenSL は、将来の Android ビルドで計画されています。OpenAL は利用できず、低レベルのハードウェアは NDK でできることすべてに制限がないため、自分で安全に構築することはできません。

低遅延オーディオのサポートは予定されていません。ここにその趣旨のバグがあります:

http://code.google.com/p/android/issues/detail?id=3434

あなたに関連する場合はスターを付けてください。十分な数の星を獲得できれば、Google が耳を傾けるかもしれません。

編集: Android 4.0+ には低遅延オーディオがあり、OpenSL は現在利用可能です。このページとリンクされたページを参照してください: http://source.android.com/devices/audio/latency.html OpenSL の NDK ガイドも参照してください。

于 2010-10-29T23:34:47.353 に答える
-3

NDK を使用して OpenAL をビルドし、APK にパッケージ化できます。そうすれば、ネイティブ コードからアクセスできます。

于 2010-04-06T18:42:32.543 に答える