我现在正在尝试调用资源(在我的应用程序中,它们是mp3文件和图像)。对于mp3文件部分,我的代码如下所示(显然无法正常工作!)
if(i==1)
{
hoho= MediaPlayer.create(getApplicationContext(), R.raw.univ_day1);
hoho.start();
}
else if (i==2)
{
hoho= MediaPlayer.create(getApplicationContext(), R.raw.univ_day2);
hoho.start();
}
...
在我的应用程序中,应用程序内部有数百个mp3文件。所以我想做的就是将代码简要地总结成这样的东西。
hoho=MediaPlayer.crate(getApplicationContet(), R.raw.univ_day+"i"); //This also looks really awkward.
如果我知道如何像上面一样写下代码。如何处理原始文件的名称和“ R.raw ....”之类的格式?如果可以,那么我也可以对图像资源应用类似的方法。
我们可以列出所有原始资产的名称,基本上是不带扩展名的文件名,我们可以这样做-
public void listRaw(){
Field[] fields=R.raw.class.getFields();
for(int count=0; count < fields.length; count++){
Log.i("Raw Asset: ", fields[count].getName());
}
}
接下来,您需要通过分配给该资源名称的整数来引用它们。您可以通过以下方式获取此整数:
int resourceID=fields[count].getInt(fields[count]);
这与引用R.raw.yourRawFileName所获得的int相同。
在您的代码中,您可以像这样使用-
hoho= MediaPlayer.create(getApplicationContext(), resourceID);
hoho.start();
接下来,您可以应用JAVA逻辑来播放上一个当前和下一个媒体文件。如果您在这里也需要帮助,请告诉我们。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句