示例1不是READY SoundPool

时间:2019-05-23 12:53:23

标签: android soundpool

实际上,我的设备不支持MediaPlayer,因此我试图使用SoundPool播放.wav声音,就像“错误通知声音”一样,其重量仅为350kb。

我试图使用在stackoverflow中找到的以下代码

private void playSound() {

    audioAttributes = new AudioAttributes.Builder()
            .setContentType(AudioAttributes.CONTENT_TYPE_MUSIC)
            .setUsage(AudioAttributes.USAGE_MEDIA)
            .build();
    sp = new SoundPool.Builder().build();
    int soundId = sp.load(getApplicationContext(), R.raw.errorsound, 1);
    sp.play(soundId, 1, 1, 1, 1, 1f);


}

但是每次我尝试投射声音时,都会在Logcat中收到“样本1未就绪”

该代码有什么问题?我该如何解决?

更新:

按如下所示更改代码后

private void playSound() {

    audioAttributes = new AudioAttributes.Builder()
            .setContentType(AudioAttributes.CONTENT_TYPE_MUSIC)
            .setUsage(AudioAttributes.USAGE_MEDIA)
            .build();
    sp = new SoundPool.Builder().build();
    final int soundId = sp.load(getApplicationContext(), R.raw.itemexist, 1);
    sp.setOnLoadCompleteListener(new SoundPool.OnLoadCompleteListener() {
        @Override
        public void onLoadComplete(SoundPool soundPool, int sampleId, int status) {
            sp.play(soundId, 1.0f, 1.0f, 1, 1, 1f);
        }
    });



}

“样品1未就绪”不再出现,但我仍然听不到任何声音。 在Logcat中,出现以下错误:

  

无法打开libwvm.so:dlopen失败:   “ /system/vendor/lib64/libwvm.so”是32位而不是64位

0 个答案:

没有答案