声音不是资产,这就是我将其作为InputStream的原因:
InputStream is = getClass().getClassLoader().getResourceAsStream("sound.ogg");
如何使用android.media.SoundPool播放java.io.InputStream?
在类android.media.SoundPool中,我发现了4种加载声音的方法
public int load(String path, int priority);
public int load(AssetFileDescriptor afd, int priority);
public int load(Context context, int resId, int priority);
public int load(FileDescriptor fd, long offset, long length, int priority);
但是任何东西都适用于InputStream。
答案 0 :(得分:2)
创建AssetFileDescriptor:
afd = context.getAssets().openFd("sound.ogg");
并致电load
方法:soundPool.load( afd, 1);