【问题标题】:Accessing music files into my application programmatically以编程方式将音乐文件访问到我的应用程序中
【发布时间】:2011-03-11 13:31:28
【问题描述】:

如何以编程方式将设备中的音乐文件访问到我的应用程序中?

【问题讨论】:

    标签: android


    【解决方案1】:

    另一种方法是使用 MediaStore 内容提供程序来查找您的音乐:http://developer.android.com/reference/android/provider/MediaStore.html

    MediaColumns 中有一个 DATA 字段,用于保存媒体文件的数据流。

    Google 有一个从 MediaStore 读取图像的示例,该示例位于该页面的一半多一点处:http://developer.android.com/guide/topics/providers/content-providers.html。我想你应该可以采用代码来阅读音乐,而不用太麻烦。

    编辑:Google 重新编写了有关内容提供商的文档。我上面提到的例子似乎不再存在。但是,一旦您有了媒体的 URI,您应该能够通过以下方式获取输入流:

    InputStream is = getContentResolver().openInputStream(uri);
    

    【讨论】:

    • 我发现这种方法比自己阅读文件更干净。但是我没有在该页面上看到有关如何使用此 DATA 字段来读取媒体内容的快速说明。你能指出它在哪里找到吗?谢谢,不过我知道“_data”列可能就是其中之一。
    【解决方案2】:

    根据您的文件存储位置,您可以使用:

    Environment.getExternalStorageDirectory();
    

    或:

    Environment.getDataDirectory();
    

    两者都会为您提供各自数据的根路径。即 getExternalStorageDirectory() 将在我的 Evo 4G 上为我提供 /mnt/sdcard/,因为我的 SD 卡已注册为设备的外部存储。

    之后你必须知道你的文件在哪里,然后去那个文件夹。

    【讨论】:

      猜你喜欢
      • 2012-02-22
      • 1970-01-01
      • 2011-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-25
      相关资源
      最近更新 更多