【问题标题】:Inserting audio clips into an android app将音频剪辑插入 Android 应用程序
【发布时间】:2012-10-06 02:18:09
【问题描述】:

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

【问题讨论】:

    标签: android


    【解决方案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);
    

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

    assets.open(fileName);
    

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

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

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

    【讨论】:

      【解决方案2】:

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

      此外,您可能希望开始接受答案,或者人们将不再回答您。我不是说选择我的作为答案(除非它是你要找的),但你可能想花点时间来解决你过去的问题。其中一些有一些评价很高的答案。

      【讨论】:

      • 我打算这样做的唯一原因是因为书中的教程就是这样做的。这就是为什么我要问有什么更好的方法。你有任何可以帮助我的链接或获取列表的教程,这样我就可以按照你提到的去做。这对我有很大帮助。谢谢。
      • 谷歌ListView。这是一个可能有帮助的东西。 stackoverflow.com/questions/9229516/using-listview-in-android
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-14
      相关资源
      最近更新 更多