OpenSL` ES が利用可能な場合にのみ使用したい、つまり Android バージョン >= 2.3 の場合
現在、私は持っていますAndroid.mk
LOCAL_LDLIBS += -lOpenSLES
ただし、Android のバージョンが 2.3 未満の場合、これは機能しません。
Androidバージョン> = 2.3の場合にのみ、Open SLライブラリを動的にロードできますSystem.loadLibrary
か?
OpenSL` ES が利用可能な場合にのみ使用したい、つまり Android バージョン >= 2.3 の場合
現在、私は持っていますAndroid.mk
LOCAL_LDLIBS += -lOpenSLES
ただし、Android のバージョンが 2.3 未満の場合、これは機能しません。
Androidバージョン> = 2.3の場合にのみ、Open SLライブラリを動的にロードできますSystem.loadLibrary
か?
ライブラリをロードする前に API バージョンを確認するために使用Build.VERSION
し、API 9 より低い場合はロードしないでください。
例:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) {
System.loadLibrary("xyz");
}
[編集]
または、OpenSL ES を動的にロードする 1 つのネイティブ ライブラリが必要な場合は、dlopen
. stackoverflow で例を見つけることができます: https://stackoverflow.com/a/1142169/1145705