声音池 - 不加载文件

时间:2011-10-28 21:46:33

标签: android

我正在尝试为声音池添加声音

我已经坚持了一个多星期了,尝试了各种方法加载通过网址等,但没有任何作用。非常感谢任何帮助。

我收到错误:android.content.res.Resources $ NotFoundException:从可绘制资源ID文件res / raw / claps.wav。

我知道该文件在apk中,因为我解压缩了apk,在/res/raw/claps.wav下找到它。

SoundPool mySoundPool = new SoundPool(4, AudioManager.STREAM_MUSIC, 0);
        int myAudioFile = context.getResourceId("raw.claps");
        try{
            mySoundPool.load(context.getActivity(),myAudioFile,1);
        } catch (Exception e){
            message = String.valueOf(e);
        }

谢谢!

2 个答案:

答案 0 :(得分:0)

试试这个:

    SoundPool mySoundPool = new SoundPool(4, AudioManager.STREAM_MUSIC, 0);
    int myAudioFile = getResId("claps", R.raw.class);
    try{
        mySoundPool.load(context.getActivity(),myAudioFile,1);
    } catch (Exception e){
        message = String.valueOf(e);
    }

public static int getResId(String variableName, Class<?> c) {
    Field field = null;
    int resId = 0;
    try {
        field = c.getField(variableName);
        try {
            resId = field.getInt(null);
        } catch (Exception e) {
            e.printStackTrace();
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
    return resId;
}

答案 1 :(得分:0)

我有类似的问题;我的一半声音会加载,一半会导致android.content.res.Resources $ NotFoundException。原因是我在eclipse中的一个资源文件与文件系统不同步。当我刷新文件时,声音全部从那时开始加载。