我计划为教堂制作一个应用程序,它是一个相对简单的应用程序,它只是在主 xml 中有一个菜单,其中将包含一个 about 部分联系人和一个剪辑部分。现在,当用户单击剪辑时,它们将被重定向到一个 xml 文件,其中列出了前几周服务的所有音频剪辑,然后用户可以单击以收听。我只是计划创建一个原始文件夹并将所有剪辑放在该文件夹中,然后通过带有原始文件的 mediaplayer 类访问音频文件。方法,但这真的是最好的方法吗?我在这里有几个问题。如果我这样做,我是否必须一直修改代码,因为我必须插入最新的剪辑?如果是这样,有什么更好的方法,所以我不这样做
问问题
255 次
2 回答
1
将所有剪辑放在assets
文件夹中。在您的应用程序中使用类似:
AssetManager assets = getAssets();
String[] list = assets.list("");
这将返回资产文件夹中所有文件的列表。在这里,您需要在列表视图中使用该数组或处理它以您认为合适的任何方式创建视图。
最简单的方法是使用 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);
何时使用其中一个文件(可能在 a 中ListView.OnItemSelectedListener()
):
assets.open(fileName);
fileName 是一个字符串,其中包含您选择的文件的名称。
在需要更新时,此方法不会涉及更改代码。
如果您的应用程序将超过 50mb,您将需要使用扩展文件。由于扩展文件的下载和验证,这种方法有点复杂,但使用方法类似。
于 2012-10-06T03:19:35.047 回答
0
当您列出用户可以看到的声音片段时,为什么不通过列出某个文件夹中的所有音乐片段来使其获得此列表?每当您想添加声音剪辑时,您只需将其添加到该文件夹即可。没有对特定声音剪辑的任何静态引用。
此外,您可能想开始接受答案,或者人们将停止回答您。我不是说选择我的作为答案(除非它是你要找的),但你可能想花点时间来解决你过去的问题。其中一些有一些评价很高的答案。
于 2012-10-06T02:33:38.667 回答