web-dev-qa-db-ja.com

Android OpenAL?

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

Androidのサウンド操作に関する良いガイドがどこかにある場合も、それは問題ありません。OpenALがゲームメーカーにとっての標準のようなものであり、何千ものこのシステムに線を引きます。NDKを掘り下げ、システムに共有ライブラリアクセスがほとんどないことを確認する前に、NDKの要点を考えていました。

ありがとうございます。Java自分でエキスパートになることなく、実際に移植できることを願っています。これまでのところ、NDKは本当に嫌いです!

31
Kyle

現在、NDKオーディオにはいくつかのオプションがあります。

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

  2. OpenAL Soft には、gitマスターにOpenSL ESバックエンドがあります(バージョン1.13の時点ではリリースされていません)。ただし、現時点ではAndroidで壊れています。OpenSLES 1.1用に作成されたものであり、1.0.1ではありません。修正については this commit を参照してください。

  3. 以前の回答で述べたように、OpenAL SoftのJNIバックエンドはリンクされており、2.3より前のOpenALの唯一のオプションとして here が記述されていますAndroidプラットフォーム。ただし、これはOpenAL Softの古いフォークです-バックエンドを最新バージョンに更新しました githubリポジトリ上 とOpenSL ES 1.0.1修正。さらに含まれている nestededオプションのパッチ は、パフォーマンスが向上し、レイテンシが短くなると主張しています。

33
AerialX

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

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

2.3未満のデバイスをターゲットにしたい場合は、引き続き役立つ場合があります。

乾杯。

8
Martin

OpenSLは将来的に計画されていますAndroidビルド; OpenALは利用できず、低レベルのハードウェアはNDKで実行できるすべての制限を超えているため、安全にビルドできません自分で。

計画されていても、低遅延オーディオのサポートはありません。その影響にはバグがあります:

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

自分に関係がある場合はスターを付けてください。たぶんグーグルは十分な星を得れば耳を傾けるでしょう。

編集:IS低レイテンシーオーディオAndroid 4.0+、およびOpenSLが利用可能になりました。このページとリンクされたページを参照してください。 http://source.Android.com/devices/audio/latency.html OpenSLのNDKガイドも参照してください。

5
SomeCallMeTim