gpt4 book ai didi

java - SoundPool 中的声音无法在 Android 中加载

转载 作者:行者123 更新时间:2023-12-01 09:32:26 31 4
gpt4 key购买 nike

我在加载游戏声音时遇到问题。或者更确切地说,是一些声音。加载R.raw.successR.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);

加载文件的顺序似乎并不重要。只有 failsuccess 加载没有问题。声音工作了很长一段时间,但在我正在开发的最后一个补丁中,声音停止加载。更改文件名也无法解决此问题。

已经尝试以各种方式广泛“谷歌搜索”错误的形状和形式,但无济于事。我在 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/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com