Android - 使用变量加载到 SoundPool。

Posted

技术标签:

【中文标题】Android - 使用变量加载到 SoundPool。【英文标题】:Android - Load into SoundPool using variables. 【发布时间】:2013-06-13 02:54:16 【问题描述】:

目前我有四种方法可以将不同的声音加载到 SoundPool 中。我想通过一种通用方法来简化/缩短我的代码,该方法接受一个参数并基于该参数加载不同的文件。

目前,我有:

public void declareDrumsAmen()
    kick = currentDrums.load(myContext, R.raw.amenkick, 1);
    hat = currentDrums.load(myContext, R.raw.amenhat, 1);
    snare = currentDrums.load(myContext, R.raw.amensnare, 1);
    snare2 = currentDrums.load(myContext, R.raw.amensnare2, 1);


public void declareDrumsFonk()
    kick = currentDrums.load(myContext, R.raw.fonkkick, 1);
    hat = currentDrums.load(myContext, R.raw.fonkhat, 1);
    snare = currentDrums.load(myContext, R.raw.fonksnare, 1);
    snare2 = currentDrums.load(myContext, R.raw.fonksnare2, 1);

...
...

还有两个。我想用以下内容替换所有这些:

public void declareDrums(String kit)
    kick = currentDrums.load(myContext, R.raw.kitkick, 1);
    hat = currentDrums.load(myContext, R.raw.kithat, 1);
    snare = currentDrums.load(myContext, R.raw.kitsnare, 1);
    snare2 = currentDrums.load(myContext, R.raw.kitsnare2, 1);

但我不知道怎么做。谁能提供一些指导?

【问题讨论】:

考虑将您想出的解决方案发布为答案。这将帮助未来的访问者知道问题是什么以及解决方案是什么。 ;-) 网站不让我!现在可能会,让我试试。编辑:完成! 【参考方案1】:

呃,别管我的愚蠢了。想通了,希望这能帮助在谷歌搜索中偶然发现这一点的其他人。

方法定义:

public void declareDrums(int resIDkick, int resIDhat, int resIDsnare, int resIDsnare2)
    kick = currentDrums.load(myContext, resIDkick, 1);
    hat = currentDrums.load(myContext, resIDhat, 1);
    snare = currentDrums.load(myContext, resIDsnare, 1);
    snare2 = currentDrums.load(myContext, resIDsnare2, 1);

调用:

//declareDrums(R.raw.amenkick, R.raw.amenhat, R.raw.amensnare, R.raw.amensnare2);
declareDrums(R.raw.fpckick, R.raw.fpchat, R.raw.fpcsnare, R.raw.fpcsnare2);

【讨论】:

以上是关于Android - 使用变量加载到 SoundPool。的主要内容,如果未能解决你的问题,请参考以下文章

Android - 在显示进度时将图像从 URL 加载到 ImageView(不保存图像)

Android 插件化Hook 插件化框架 ( 使用 Hook 方式替换插件 Activity 的 mResources 成员变量 )

在加载 Android 应用程序时获取 ClassNotFoundException

android高级UI布局层次结构及布局加载流程源码解析

android高级UI布局层次结构及布局加载流程源码解析

Android 逆向类加载器 ClassLoader ( 类加载时机 | 隐式加载 | 显示加载 | 类加载步骤 | 装载 | 链接 | 初始化 )