【问题标题】:Sound Pool - Not Loading File声音池 - 未加载文件
【发布时间】:2011-10-28 21:46:32
【问题描述】:

我正在尝试向我的声音池添加声音

我已经坚持了一个多星期了,尝试了各种通过 url 等加载的方法,但没有任何效果。任何帮助将不胜感激。

我收到错误:android.content.res.Resources$NotFoundException: File res/raw/claps.wav from drawable resource ID。

我知道该文件在 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);
        }

谢谢!

【问题讨论】:

    标签: android


    【解决方案1】:

    试试这个:

        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;
    }
    

    【讨论】:

    • 应该可以,确保getResId()参数正确。
    • 好的,claps 是我的声音文件的名称,我需要将 R.raw.class 更改为任何特定的名称吗?感谢您的帮助顺便说一句
    • 应该没问题,你能仔细检查一下 Claps 是否在 R.class 中并且它是原始的。或者它可能属于不同的类(在 R 内)?您可以在 gen 文件夹中找到 R.class 文件。
    • 是的,它在 raw public static final class raw { public static final int claps=0x7f040000;
    • 对不起,我不知道可能是什么问题,getResId() 应该返回 int。您唯一可以尝试的是重命名拍手。清理项目并再次运行。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多