Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/187.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将音频剪辑插入android应用程序_Android - Fatal编程技术网

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

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

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

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


此外,你可能想开始接受答案,或者人们会停止回答你。我并不是说选择我的答案(除非它是你想要的),但你可能想花一点时间回顾一下你过去的问题。他们中的一些人给出了一些评价很高的答案。

将您的所有剪辑放在
资产
文件夹中。 在您的应用程序中,使用以下内容:

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);
fileName是包含所选文件名的字符串

当需要更新时,此方法将不涉及更改代码


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

我计划采用这种方法的唯一原因是一本书中的教程采用了这种方法。这就是为什么我要问什么是更好的方法。你有没有任何链接可以帮助我获得一个列表或教程,这样我就可以做你提到的。那会帮我大忙的。谢谢。谷歌
ListView
。这里有一个可能有用的方法。
assets.open(fileName);