作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在加载游戏声音时遇到问题。或者更确切地说,是一些声音。加载R.raw.success
和R.raw.fail
似乎没有问题。但不会加载任何注释。以下是我的加载代码:
SoundPool soundPool = new SoundPool(20, AudioManager.STREAM_MUSIC, 1);
int[] sounds = new int[6];
sounds[0] = soundPool.load(getApplicationContext(), R.raw.note_c, 1);
sounds[1] = soundPool.load(getApplicationContext(), R.raw.note_d, 1);
sounds[2] = soundPool.load(getApplicationContext(), R.raw.note_e, 1);
sounds[3] = soundPool.load(getApplicationContext(), R.raw.note_g, 1);
sounds[4] = soundPool.load(getApplicationContext(), R.raw.note_a, 1);
sounds[5] = soundPool.load(getApplicationContext(), R.raw.note_ctwo, 1);
success_sound = soundPool.load(getApplicationContext(), R.raw.success, 1);
fail_sound = soundPool.load(getApplicationContext(), R.raw.fail, 1);
加载文件的顺序似乎并不重要。只有 fail
和 success
加载没有问题。声音工作了很长一段时间,但在我正在开发的最后一个补丁中,声音停止加载。更改文件名也无法解决此问题。
已经尝试以各种方式广泛“谷歌搜索”错误的形状和形式,但无济于事。我在 LogCat 中得到以下输出:(最后两行是加载成功和失败的声音,没有问题。)
com.example.application E/WVMExtractor: Failed to open libwvm.so: dlopen failed: library "libwvm.so" not found
com.example.application E/NdkMediaExtractor: sf error code: -1010
com.example.application E/SoundPool: Unable to load sample
com.example.application E/NdkMediaExtractor: sf error code: -1010
com.example.application E/SoundPool: Unable to load sample
com.example.application E/NdkMediaExtractor: sf error code: -1010
com.example.application E/SoundPool: Unable to load sample
com.example.application E/NdkMediaExtractor: sf error code: -1010
com.example.application E/SoundPool: Unable to load sample
com.example.application E/NdkMediaExtractor: sf error code: -1010
com.example.application E/SoundPool: Unable to load sample
com.example.application E/NdkMediaExtractor: sf error code: -1010
com.example.application E/SoundPool: Unable to load sample
com.example.application I/OMXClient: Using client-side OMX mux.
com.example.application I/OMXClient: Using client-side OMX mux.
当声音应该播放时,我得到以下输出:W/SoundPool:示例 1 未就绪
最佳答案
问题可能出在您的 Assets (音频文件)
我在 LG G4 设备上的一些视频文件 (.mov) 也遇到了同样的问题 (E/NdkMediaExtractor: sf 错误代码: -1010
)。 (在三星S7、华为P9等设备上没有问题)
转换所有文件后:
for f in *.mov; do ffmpeg -i "$f" -c copy -movflags +faststart "${f%.mov}.mp4"; done
视频文件在任何地方都能正确加载。
所以,我给你的建议是:尝试使用你的音频文件格式 - 将它们转换为其他格式可能会有所帮助。
关于java - SoundPool 中的声音无法在 Android 中加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39297363/
我是一名优秀的程序员,十分优秀!