安卓.Wav E/WVMExtractor(40) : Failed to open libwvm. 所以

标签 android android-ndk java-native-interface

我有以下代码...

public class GL2JNIActivity extends Activity implements View.OnTouchListener {
...
    @Override
protected void onCreate(Bundle icicle) {
    super.onCreate(icicle);
    mView = new GL2JNIView(getApplication());
    mView.setOnTouchListener(this);
    Display display = getWindowManager().getDefaultDisplay();
    display.getSize(size);
    this.setVolumeControlStream(AudioManager.STREAM_MUSIC);
    lib.setContext(this);
    lib.setSoundPool(new SoundPool(10, AudioManager.STREAM_MUSIC, 0));
    lib.getSoundPool().setOnLoadCompleteListener(new OnLoadCompleteListener() {
        @Override
        public void onLoadComplete(SoundPool soundPool, int sampleId,
                int status) {
            lib.setLoaded(true);
        }
    });
    lib.setSoundID(lib.getSoundPool().load(this, R.raw.a, 1));
    lib.setAudioManager((AudioManager) getSystemService(AUDIO_SERVICE));
    setContentView(mView);
}

然后我在另一个类中使用 JNI 回调调用它...

public class GL2JNILib {
    ...
    public void playA() {
    //setSoundID(getSoundPool().load(context, R.raw.a, 1));
    float actualVolume = (float) audioManager
            .getStreamVolume(AudioManager.STREAM_MUSIC);
    float maxVolume = (float) audioManager
            .getStreamMaxVolume(AudioManager.STREAM_MUSIC);
    float volume = actualVolume / maxVolume;
    // Is the sound loaded already?
    if (loaded) {
        soundPool.play(soundID, volume, volume, 1, 0, 1f);
        Log.e("Test", "Played sound");
    }
}

不过,我想在 onCreate 中注释该行并取消注释 lib 中的行(这样我就可以更改注释)。但是当我这样做时,我看到以下错误....

E/WVMExtractor( 40): Failed to open libwvm.so

它不会崩溃或其他任何东西,只是不会播放声音。有什么想法吗?

最佳答案

您是否偶然在三星设备上进行测试?众所周知,他们没有包含某些库或针对 < 5.0 的版本对其进行个性化设置。

关于安卓.Wav E/WVMExtractor(40) : Failed to open libwvm. 所以,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17795529/

相关文章:

c++ - ReleaseStringUTFChars 给出 free() : invalid pointer: 0x0841a744 ***

java - Kivy 应用程序崩溃,没有非静态方法 openAPKExpansionInputStream

java - JNI 引用表溢出 : how to release ObjectArray containing Strings

android - 创建非最终非静态类时出现NoClassDefFoundError

c++ - std::cout 与 Visual Studio 2015 上的 Android NDK

java - 在 Android 上反序列化数组

c++ - 带有 SuperpoweredReverb 的 SIGSEGV

java - 使用 NDK 编写安卓游戏还需要 Java 吗?

android - 如何使用 Python 编写 Android 应用程序?

Android - URLConnection 的默认用户代理?