0

OpenSLES仕様1.0.1は、3Dオーディオの実装を示しています。私の興味は、3Dオーディオソースの場所を指定することです。

これをAndroid14に実装しようとしましたが、結果として「SL_RESULT_FEATURE_UNSUPPORTED」が表示されました。このリンクで通知されているように、3Dロケーション、リスナー、および一般的にすべての3D機能などのOpenSL ES機能の3Dサウンドでは、USE_PROFILES_GAMEを設定する必要があります。

OpenSLESは独立したエンティティではなく、他のシステムライブラリ(wilhelm.soなど)に依存しているため、そのライブラリを独立してコンパイルすることはできませんでした。そこで、Androidソース全体をダウンロードし、USE_PROFILES_GAMEフラグを設定し、Android.mkに3D関連のクラスを含めました。これはデフォルトで除外されており、新しいシステムを構築します。

新しいAndroidシステムイメージを使用して、ロケーション推論を取得できますが、機能していないようです。つまり、ソースオーディオのロケーションが変化しているのを感じることができません。

誰かがAndroidに3Dオーディオ機能(特に3Dオーディオロケーション)を正常に実装したことがありますか?3Dオーディオ機能のモバイルハードウェアへの依存性はありますか?

どんな助けでも大歓迎です。

4

2 に答える 2

0

私が認識しているどのデバイスでも、3D インターフェースはまだサポートされていません。

ndk/docs/opensles/index.html から: "注: OpenSL ES に基づいていますが、Android ネイティブ オーディオ API は OpenSL ES 1.0.1 プロファイル (ゲーム、音楽、または電話) の適合実装ではありません。これはAndroid は、いずれかのプロファイルに必要なすべての機能を実装しているわけではないためです。」

于 2013-08-02T16:50:08.933 に答える
0

3D オーディオ機能を必要とするプロトタイプ アプリを開発しようとしていたときも、同じ問題がありました。

私はあなたが私自身のアンドロイドソースをコンパイルすることで行ったほどには行きませんでしたが、それについて考えました. 10 年前に、ここ SOF で Android でコンパイルされた openal ライブラリに出会いました。別のプロジェクトのためにプロジェクトを中止しなければならなかったので、私は先週、この問題を再び検討し始めました。私が見つけたのはこれでした:

http://www.am3d.co.jp/home-english/products/3d-audio/hardwaresoftware-platforms/android.aspx

リンクが見つからないようですが、アプリのライセンスが必要です。多分これはあなたにとって役に立ちます。私は彼らのウェブサイトで次のように述べます標準の OpenSL ES の方法で 3D 効果自体をプログラミングしています

于 2013-09-17T22:23:53.313 に答える