将音频剪辑插入Android应用程序

时间:2012-10-06 02:18:09

标签: android

我计划为一个教堂制作一个应用程序,它几乎是一个相对简单的应用程序,它只是在主xml中有一个菜单,其中包含一个关于部分的联系人和一个剪辑部分。现在,当用户点击剪辑时,他们将被重定向到xml文件,列出前几周服务的所有音频剪辑,然后用户可以点击收听。我只是计划创建一个原始文件夹并将所有剪辑放在该文件夹中,然后通过mediaplayer类使用raw访问音频文件。方法,但这真的是最好的方法吗?我在这里有几个问题。如果我这样做,我将不得不一直修改代码,因为我必须插入最新的剪辑?如果是这样,这样做的更好的方法是什么,所以我不必每周都不得不改变我的代码,因为我计划插入该周服务的最新音频片段?

2 个答案:

答案 0 :(得分:1)

将所有剪辑放在assets文件夹中。 在您的应用中使用以下内容:

AssetManager assets = getAssets();
String[] list = assets.list(""); 

这将返回assets文件夹中所有文件的列表。在这里,您需要在列表视图中使用该数组,或者处理它以您认为合适的任何方式创建视图。

最简单的方法是使用listView并使用适配器中的数组将文件标题放在列表中。

ListView listView = (ListView) findViewById(R.id.listView);
ArrayAdapter<CharSequence> adapter = new ArrayAdapter<CharSequence>(
             this,
             android.R.layout.simple_spinner_item,
             new ArrayList<CharSequence>(Arrays.asList(list)));
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
listView.setAdapter(adapter);

何时使用其中一个文件(可能在ListView.OnItemSelectedListener()中):

assets.open(fileName);

fileName是一个字符串,其中包含您选择的文件的名称。

此方法不会涉及在更新时更改代码。

如果您的应用超过50mb,则需要使用扩展文件。由于扩展文件的下载和验证,这种方法有点复杂,但它以类似的方式使用。

答案 1 :(得分:0)

当您列出用户可以看到的声音片段时,为什么不通过列出某个文件夹中的所有音乐片段来获取此列表?每当您想要添加声音片段时,您只需将其添加到该文件夹​​即可。没有对特定声音片段的任何静态引用。

此外,您可能想要开始接受答案,否则人们会停止接听您。我不是说选择我的答案(除非你正在寻找),但你可能想花一点时间来回顾过去的问题。他们中的一些人有一些评价很高的答案。