首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将音频剪辑插入android应用程序

将音频剪辑插入android应用程序
EN

Stack Overflow用户
提问于 2012-10-06 10:18:09
回答 2查看 254关注 0票数 0

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-06 11:19:35

将所有剪辑放在assets文件夹中。在你的应用中使用类似这样的东西:

代码语言:javascript
复制
AssetManager assets = getAssets();
String[] list = assets.list(""); 

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

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

代码语言:javascript
复制
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()中):

代码语言:javascript
复制
assets.open(fileName);

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

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

如果您的应用程序将超过50mb,则需要使用扩展文件。由于需要下载和验证扩展文件,这是一种比较复杂的方法,但它的使用方式与此类似。

票数 1
EN

Stack Overflow用户

发布于 2012-10-06 10:33:39

当您列出用户可以看到的声音剪辑时,为什么不让它通过列出某个文件夹中的所有音乐剪辑来获得此列表?每当你想要添加一个声音剪辑,你所要做的就是把它添加到那个文件夹中。不要有任何对特定声音片段的静态引用。

此外,你可能想要开始接受答案,否则人们将停止回答你。我不是说选择我的作为答案(除非这是你想要的),但你可能想花点时间来回顾一下你过去的问题。他们中的一些人有一些高评分的答案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12756123

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档